mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 01:33:03 +00:00
Merge maint into master
* upstream/maint: (48 commits) THANKS: update an address tests: adjust syncline tests to GCC 7 glr: fix improperly placed synclines bison: be git grep friendly Replace ftp with https maint: post-release administrivia version 3.0.5 bison: style: indentation fixes regen bison: please address sanitizer C++: style: fix indentation NEWS: update C++: style: prefer `unsigned` to `unsigned int` C++: style: space before paren C++: fix -Wdeprecated warnings tests: fix -Wdeprecated warning maint: update syntax-check exclusions autoconf: update regen Update copyright years ...
This commit is contained in:
@@ -1 +1 @@
|
|||||||
3.0.4
|
3.0.5
|
||||||
|
|||||||
2
AUTHORS
2
AUTHORS
@@ -24,7 +24,7 @@ and nasty bugs.
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 1998-2015 Free Software Foundation, Inc.
|
Copyright (C) 1998-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
@@ -26733,8 +26733,8 @@
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 1987-1988, 1991-2015 Free Software Foundation,
|
Copyright (C) 1987-1988, 1991-2015, 2018 Free Software
|
||||||
Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
Copying and distribution of this file, with or without
|
Copying and distribution of this file, with or without
|
||||||
modification, are permitted provided the copyright notice and this
|
modification, are permitted provided the copyright notice and this
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
## Process this file with automake to produce Makefile.in.
|
## Process this file with automake to produce Makefile.in.
|
||||||
|
|
||||||
# Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2015, 2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
34
NEWS
34
NEWS
@@ -45,6 +45,36 @@ GNU Bison NEWS
|
|||||||
input: '0' | exp
|
input: '0' | exp
|
||||||
^^^
|
^^^
|
||||||
|
|
||||||
|
* Noteworthy changes in release 3.0.5 (2018-05-27) [stable]
|
||||||
|
|
||||||
|
** Bug fixes
|
||||||
|
|
||||||
|
*** C++: Fix support of 'syntax_error'
|
||||||
|
|
||||||
|
One incorrect 'inline' resulted in linking errors about the constructor of
|
||||||
|
the syntax_error exception.
|
||||||
|
|
||||||
|
*** C++: Fix warnings
|
||||||
|
|
||||||
|
GCC 7.3 (with -O1 or -O2 but not -O0 or -O3) issued null-dereference
|
||||||
|
warnings about yyformat being possibly null. It also warned about the
|
||||||
|
deprecated implicit definition of copy constructors when there's a
|
||||||
|
user-defined (copy) assignment operator.
|
||||||
|
|
||||||
|
*** Location of errors
|
||||||
|
|
||||||
|
In C++ parsers, out-of-bounds errors can happen when a rule with an empty
|
||||||
|
ride-hand side raises a syntax error. The behavior of the default parser
|
||||||
|
(yacc.c) in such a condition was undefined.
|
||||||
|
|
||||||
|
Now all the parsers match the behavior of glr.c: @$ is used as the
|
||||||
|
location of the error. This handles gracefully rules with and without
|
||||||
|
rhs.
|
||||||
|
|
||||||
|
*** Portability fixes in the test suite
|
||||||
|
|
||||||
|
On some platforms, some Java and/or C++ tests were failing.
|
||||||
|
|
||||||
* Noteworthy changes in release 3.0.4 (2015-01-23) [stable]
|
* Noteworthy changes in release 3.0.4 (2015-01-23) [stable]
|
||||||
|
|
||||||
** Bug fixes
|
** Bug fixes
|
||||||
@@ -106,7 +136,7 @@ GNU Bison NEWS
|
|||||||
extracted from the documentation:
|
extracted from the documentation:
|
||||||
|
|
||||||
- rpcalc
|
- rpcalc
|
||||||
Reverse polish calculator, a simple introductory example.
|
Reverse Polish Calculator, a simple introductory example.
|
||||||
- mfcalc
|
- mfcalc
|
||||||
Multi-function Calc, a calculator with memory and functions and located
|
Multi-function Calc, a calculator with memory and functions and located
|
||||||
error messages.
|
error messages.
|
||||||
@@ -2793,7 +2823,7 @@ Output file does not redefine const for C++.
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 1995-2015 Free Software Foundation, Inc.
|
Copyright (C) 1995-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Parser Generator.
|
This file is part of Bison, the GNU Parser Generator.
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ to the bison package.
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 2002, 2005, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2005, 2009-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
4
README
4
README
@@ -7,7 +7,7 @@ instructions.
|
|||||||
|
|
||||||
Bison requires GNU m4 1.4.6 or later. See:
|
Bison requires GNU m4 1.4.6 or later. See:
|
||||||
|
|
||||||
ftp://ftp.gnu.org/gnu/m4/m4-1.4.6.tar.gz
|
https://ftp.gnu.org/gnu/m4/m4-1.4.6.tar.gz
|
||||||
|
|
||||||
** Internationalization
|
** Internationalization
|
||||||
Bison supports two catalogues: one for Bison itself (i.e., for the
|
Bison supports two catalogues: one for Bison itself (i.e., for the
|
||||||
@@ -44,7 +44,7 @@ End:
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 1992, 1998-1999, 2003-2005, 2008-2015 Free Software
|
Copyright (C) 1992, 1998-1999, 2003-2005, 2008-2015, 2018 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ the problems you encounter.
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Bison.
|
This file is part of GNU Bison.
|
||||||
|
|
||||||
|
|||||||
191
README-hacking
191
README-hacking
@@ -9,19 +9,19 @@ Everything related to the development of Bison is on Savannah:
|
|||||||
* Administrivia
|
* Administrivia
|
||||||
|
|
||||||
** If you incorporate a change from somebody on the net:
|
** If you incorporate a change from somebody on the net:
|
||||||
First, if it is a large change, you must make sure they have signed
|
First, if it is a large change, you must make sure they have signed the
|
||||||
the appropriate paperwork. Second, be sure to add their name and
|
appropriate paperwork. Second, be sure to add their name and email address
|
||||||
email address to THANKS.
|
to THANKS.
|
||||||
|
|
||||||
** If a change fixes a test, mention the test in the commit message.
|
** If a change fixes a test, mention the test in the commit message.
|
||||||
|
|
||||||
** Bug reports
|
** Bug reports
|
||||||
If somebody reports a new bug, mention his name in the commit message
|
If somebody reports a new bug, mention his name in the commit message and in
|
||||||
and in the test case you write. Put him into THANKS.
|
the test case you write. Put him into THANKS.
|
||||||
|
|
||||||
The correct response to most actual bugs is to write a new test case
|
The correct response to most actual bugs is to write a new test case which
|
||||||
which demonstrates the bug. Then fix the bug, re-run the test suite,
|
demonstrates the bug. Then fix the bug, re-run the test suite, and check
|
||||||
and check everything in.
|
everything in.
|
||||||
|
|
||||||
|
|
||||||
* Hacking
|
* Hacking
|
||||||
@@ -30,17 +30,17 @@ and check everything in.
|
|||||||
Which include serious bug fixes, must be mentioned in NEWS.
|
Which include serious bug fixes, must be mentioned in NEWS.
|
||||||
|
|
||||||
** Translations
|
** Translations
|
||||||
Only user visible strings are to be translated: error messages, bits
|
Only user visible strings are to be translated: error messages, bits of the
|
||||||
of the .output file etc. This excludes impossible error messages
|
.output file etc. This excludes impossible error messages (comparable to
|
||||||
(comparable to assert/abort), and all the --trace output which is
|
assert/abort), and all the --trace output which is meant for the maintainers
|
||||||
meant for the maintainers only.
|
only.
|
||||||
|
|
||||||
** Horizontal tabs
|
** Horizontal tabs
|
||||||
Do not add horizontal tab characters to any file in Bison's repository
|
Do not add horizontal tab characters to any file in Bison's repository
|
||||||
except where required. For example, do not use tabs to format C code.
|
except where required. For example, do not use tabs to format C code.
|
||||||
However, make files, ChangeLog, and some regular expressions require
|
However, make files, ChangeLog, and some regular expressions require tabs.
|
||||||
tabs. Also, test cases might need to contain tabs to check that Bison
|
Also, test cases might need to contain tabs to check that Bison properly
|
||||||
properly processes tabs in its input.
|
processes tabs in its input.
|
||||||
|
|
||||||
|
|
||||||
* Working from the repository
|
* Working from the repository
|
||||||
@@ -103,14 +103,16 @@ to perform the first checkout of the submodules, run
|
|||||||
|
|
||||||
$ git submodule update --init
|
$ git submodule update --init
|
||||||
|
|
||||||
Git submodule support is weak before versions 1.6 and later, upgrade Git if
|
|
||||||
your version is older.
|
|
||||||
|
|
||||||
The next step is to get other files needed to build, which are
|
The next step is to get other files needed to build, which are
|
||||||
extracted from other source packages:
|
extracted from other source packages:
|
||||||
|
|
||||||
$ ./bootstrap
|
$ ./bootstrap
|
||||||
|
|
||||||
|
Bootstrapping updates the submodules to the versions registered in the
|
||||||
|
top-level directory. To change gnulib, first check out the version you want
|
||||||
|
in `gnulib`, then commit this change in Bison's repository, and finally run
|
||||||
|
bootstrap.
|
||||||
|
|
||||||
If it fails with missing symbols (e.g., "error: possibly undefined macro:
|
If it fails with missing symbols (e.g., "error: possibly undefined macro:
|
||||||
AC_PROG_GNU_M4"), you are likely to have forgotten the submodule
|
AC_PROG_GNU_M4"), you are likely to have forgotten the submodule
|
||||||
initialization part. Otherwise, there you are! Just
|
initialization part. Otherwise, there you are! Just
|
||||||
@@ -137,13 +139,12 @@ explicitly by the user.
|
|||||||
*** Updating Bison
|
*** Updating Bison
|
||||||
|
|
||||||
If you pull a newer version of a branch, say via "git pull", you might
|
If you pull a newer version of a branch, say via "git pull", you might
|
||||||
import requests for updated submodules. A simple "git diff" will
|
import requests for updated submodules. A simple "git diff" will reveal if
|
||||||
reveal if the current version of the submodule (i.e., the actual
|
the current version of the submodule (i.e., the actual contents of the
|
||||||
contents of the gnulib directory) and the current request from the
|
gnulib directory) and the current request from the subscriber (i.e., the
|
||||||
subscriber (i.e., the reference of the version of gnulib that the
|
reference of the version of gnulib that the Bison repository requests)
|
||||||
Bison repository requests) differ. To upgrade the submodules (i.e.,
|
differ. To upgrade the submodules (i.e., to check out the version that is
|
||||||
to check out the version that is actually requested by the subscriber,
|
actually requested by the subscriber, run "git submodule update".
|
||||||
run "git submodule update".
|
|
||||||
|
|
||||||
$ git pull
|
$ git pull
|
||||||
$ git submodule update
|
$ git submodule update
|
||||||
@@ -167,8 +168,8 @@ Register your changes.
|
|||||||
|
|
||||||
$ git checkin ...
|
$ git checkin ...
|
||||||
|
|
||||||
For a suggestion of what gnulib commit might be stable enough for a
|
For a suggestion of what gnulib commit might be stable enough for a formal
|
||||||
formal release, see the ChangeLog in the latest gnulib snapshot at:
|
release, see the ChangeLog in the latest gnulib snapshot at:
|
||||||
|
|
||||||
http://erislabs.net/ianb/projects/gnulib/
|
http://erislabs.net/ianb/projects/gnulib/
|
||||||
|
|
||||||
@@ -178,9 +179,9 @@ The Autoconf files we use are currently:
|
|||||||
lib/m4sugar/m4sugar.m4
|
lib/m4sugar/m4sugar.m4
|
||||||
lib/m4sugar/foreach.m4
|
lib/m4sugar/foreach.m4
|
||||||
|
|
||||||
These files don't change very often in Autoconf, so it should be
|
These files don't change very often in Autoconf, so it should be relatively
|
||||||
relatively straight-forward to examine the differences in order to
|
straight-forward to examine the differences in order to decide whether to
|
||||||
decide whether to update.
|
update.
|
||||||
|
|
||||||
* Test suite
|
* Test suite
|
||||||
|
|
||||||
@@ -243,102 +244,99 @@ suite. So currently, do not try to run valgrind on Mac OS X.
|
|||||||
Try to run the test suite with more severe conditions before a
|
Try to run the test suite with more severe conditions before a
|
||||||
release:
|
release:
|
||||||
|
|
||||||
- Configure the package with --enable-gcc-warnings, so that one checks
|
- Configure the package with --enable-gcc-warnings, so that one checks that
|
||||||
that 1. Bison compiles cleanly, 2. the parsers it produces compile
|
1. Bison compiles cleanly, 2. the parsers it produces compile cleanly too.
|
||||||
cleanly too.
|
|
||||||
|
|
||||||
- Maybe build with -DGNULIB_POSIXCHECK, which suggests gnulib modules
|
- Maybe build with -DGNULIB_POSIXCHECK, which suggests gnulib modules that
|
||||||
that can fix portability issues. See if you really want to pay
|
can fix portability issues. See if you really want to pay attention to
|
||||||
attention to its warnings; there's no need to obey blindly to it
|
its warnings; there's no need to obey blindly to it
|
||||||
(<http://lists.gnu.org/archive/html/bison-patches/2012-05/msg00057.html>).
|
(<http://lists.gnu.org/archive/html/bison-patches/2012-05/msg00057.html>).
|
||||||
|
|
||||||
- Check with "make syntax-check" if there are issues diagnosed by
|
- Check with "make syntax-check" if there are issues diagnosed by gnulib.
|
||||||
gnulib.
|
|
||||||
|
|
||||||
- run "make maintainer-check" which:
|
- run "make maintainer-check" which:
|
||||||
- runs "valgrind -q bison" to run Bison under Valgrind.
|
- runs "valgrind -q bison" to run Bison under Valgrind.
|
||||||
- runs the parsers under Valgrind.
|
- runs the parsers under Valgrind.
|
||||||
- runs the test suite with G++ as C compiler...
|
- runs the test suite with G++ as C compiler...
|
||||||
|
|
||||||
- run "make maintainer-push-check", which runs "make maintainer-check"
|
- run "make maintainer-push-check", which runs "make maintainer-check" while
|
||||||
while activating the push implementation and its pull interface wrappers
|
activating the push implementation and its pull interface wrappers in many
|
||||||
in many test cases that were originally written to exercise only the
|
test cases that were originally written to exercise only the pull
|
||||||
pull implementation. This makes certain the push implementation can
|
implementation. This makes certain the push implementation can perform
|
||||||
perform every task the pull implementation can.
|
every task the pull implementation can.
|
||||||
|
|
||||||
- run "make maintainer-xml-check", which runs "make maintainer-check"
|
- run "make maintainer-xml-check", which runs "make maintainer-check" while
|
||||||
while checking Bison's XML automaton report for every working grammar
|
checking Bison's XML automaton report for every working grammar passed to
|
||||||
passed to Bison in the test suite. The check just diffs the output of
|
Bison in the test suite. The check just diffs the output of Bison's
|
||||||
Bison's included XSLT style sheets with the output of --report=all and
|
included XSLT style sheets with the output of --report=all and --graph.
|
||||||
--graph.
|
|
||||||
|
|
||||||
- running "make maintainer-release-check" takes care of running
|
- running "make maintainer-release-check" takes care of running
|
||||||
maintainer-check, maintainer-push-check and maintainer-xml-check.
|
maintainer-check, maintainer-push-check and maintainer-xml-check.
|
||||||
|
|
||||||
- Change tests/atlocal/CFLAGS to add your preferred options. For
|
- Change tests/atlocal/CFLAGS to add your preferred options. For instance,
|
||||||
instance, "-traditional" to check that the parsers are K&R. Note
|
"-traditional" to check that the parsers are K&R. Note that it does not
|
||||||
that it does not make sense for glr.c, which should be ANSI, but
|
make sense for glr.c, which should be ANSI, but currently is actually GNU
|
||||||
currently is actually GNU C, nor for lalr1.cc.
|
C, nor for lalr1.cc.
|
||||||
|
|
||||||
- Test with a very recent version of GCC for both C and C++. Testing
|
- Test with a very recent version of GCC for both C and C++. Testing with
|
||||||
with older versions that are still in use is nice too.
|
older versions that are still in use is nice too.
|
||||||
|
|
||||||
|
|
||||||
* Release Procedure
|
* Release Procedure
|
||||||
This section needs to be updated to take into account features from
|
This section needs to be updated to take into account features from gnulib.
|
||||||
gnulib. In particular, be sure to read README-release.
|
In particular, be sure to read README-release.
|
||||||
|
|
||||||
** Update the submodules. See above.
|
** Update the submodules. See above.
|
||||||
|
|
||||||
** Update maintainer tools, such as Autoconf. See above.
|
** Update maintainer tools, such as Autoconf. See above.
|
||||||
|
|
||||||
** Try to get the *.pot files to the Translation Project at least one
|
** Try to get the *.pot files to the Translation Project at least one
|
||||||
week before a stable release, to give them time to translate them.
|
week before a stable release, to give them time to translate them. Before
|
||||||
Before generating the *.pot files, make sure that po/POTFILES.in and
|
generating the *.pot files, make sure that po/POTFILES.in and
|
||||||
runtime-po/POTFILES.in list all files with translatable strings.
|
runtime-po/POTFILES.in list all files with translatable strings. This
|
||||||
This helps: grep -l '\<_(' *
|
helps: grep -l '\<_(' *
|
||||||
|
|
||||||
** Tests
|
** Tests
|
||||||
See above.
|
See above.
|
||||||
|
|
||||||
** Update the foreign files
|
** Update the foreign files
|
||||||
Running "./bootstrap" in the top level should update them all for you.
|
Running "./bootstrap" in the top level should update them all for you. This
|
||||||
This covers PO files too. Sometimes a PO file contains problems that
|
covers PO files too. Sometimes a PO file contains problems that causes it
|
||||||
causes it to be rejected by recent Gettext releases; please report
|
to be rejected by recent Gettext releases; please report these to the
|
||||||
these to the Translation Project.
|
Translation Project.
|
||||||
|
|
||||||
** Update README
|
** Update README
|
||||||
Make sure the information in README is current. Most notably, make sure
|
Make sure the information in README is current. Most notably, make sure it
|
||||||
it recommends a version of GNU M4 that is compatible with the latest
|
recommends a version of GNU M4 that is compatible with the latest Bison
|
||||||
Bison sources.
|
sources.
|
||||||
|
|
||||||
** Check copyright years.
|
** Check copyright years.
|
||||||
We update years in copyright statements throughout Bison once at the
|
We update years in copyright statements throughout Bison once at the start
|
||||||
start of every year by running "make update-copyright". However, before
|
of every year by running "make update-copyright". However, before a
|
||||||
a release, it's good to verify that it's actually been run. Besides the
|
release, it's good to verify that it's actually been run. Besides the
|
||||||
copyright statement for each Bison file, check the copyright statements
|
copyright statement for each Bison file, check the copyright statements that
|
||||||
that the skeletons insert into generated parsers, and check all
|
the skeletons insert into generated parsers, and check all occurrences of
|
||||||
occurrences of PACKAGE_COPYRIGHT_YEAR in configure.ac.
|
PACKAGE_COPYRIGHT_YEAR in configure.ac.
|
||||||
|
|
||||||
** Update NEWS, commit and tag.
|
** Update NEWS, commit and tag.
|
||||||
See do-release-commit-and-tag in README-release. For a while, we used
|
See do-release-commit-and-tag in README-release. For a while, we used beta
|
||||||
beta names such as "2.6_rc1". Now that we use gnulib in the release
|
names such as "2.6_rc1". Now that we use gnulib in the release procedure,
|
||||||
procedure, we must use "2.5.90", which has the additional benefit of
|
we must use "2.5.90", which has the additional benefit of being properly
|
||||||
being properly sorted in "git tag -l".
|
sorted in "git tag -l".
|
||||||
|
|
||||||
** make alpha, beta, or stable
|
** make alpha, beta, or stable
|
||||||
See README-release.
|
See README-release.
|
||||||
|
|
||||||
** Upload
|
** Upload
|
||||||
There are two ways to upload the tarballs to the GNU servers: using
|
There are two ways to upload the tarballs to the GNU servers: using gnupload
|
||||||
gnupload (from gnulib), or by hand. Obviously prefer the former. But
|
(from gnulib), or by hand. Obviously prefer the former. But in either
|
||||||
in either case, be sure to read the following paragraph.
|
case, be sure to read the following paragraph.
|
||||||
|
|
||||||
*** Setup
|
*** Setup
|
||||||
You need "gnupg".
|
You need "gnupg".
|
||||||
|
|
||||||
Make sure your public key has been uploaded at least to
|
Make sure your public key has been uploaded at least to keys.gnupg.net. You
|
||||||
keys.gnupg.net. You can upload it with:
|
can upload it with:
|
||||||
|
|
||||||
gpg --keyserver keys.gnupg.net --send-keys F125BDF3
|
gpg --keyserver keys.gnupg.net --send-keys F125BDF3
|
||||||
|
|
||||||
@@ -347,8 +345,8 @@ where F125BDF3 should be replaced with your key ID.
|
|||||||
*** Using gnupload
|
*** Using gnupload
|
||||||
You need "ncftp".
|
You need "ncftp".
|
||||||
|
|
||||||
At the end "make stable" (or alpha/beta) will display the procedure to
|
At the end "make stable" (or alpha/beta) will display the procedure to run.
|
||||||
run. Just copy and paste it in your shell.
|
Just copy and paste it in your shell.
|
||||||
|
|
||||||
*** By hand
|
*** By hand
|
||||||
|
|
||||||
@@ -410,9 +408,9 @@ sections that have been removed or renamed):
|
|||||||
$ ls -lt
|
$ ls -lt
|
||||||
|
|
||||||
Remove these files and commit their removal to CVS. For each of these
|
Remove these files and commit their removal to CVS. For each of these
|
||||||
files, add a line to the file .symlinks. This will ensure that
|
files, add a line to the file .symlinks. This will ensure that hyperlinks
|
||||||
hyperlinks to the removed files will redirect to the entire manual; this
|
to the removed files will redirect to the entire manual; this is better than
|
||||||
is better than a 404 error.
|
a 404 error.
|
||||||
|
|
||||||
There is a problem with 'index.html' being written twice (once for POSIX
|
There is a problem with 'index.html' being written twice (once for POSIX
|
||||||
function 'index', once for the table of contents); you can ignore this
|
function 'index', once for the table of contents); you can ignore this
|
||||||
@@ -431,19 +429,18 @@ Complete/fix the announcement file. The generated list of recipients
|
|||||||
(info-gnu@gnu.org, bug-bison@gnu.org, help-bison@gnu.org,
|
(info-gnu@gnu.org, bug-bison@gnu.org, help-bison@gnu.org,
|
||||||
bison-patches@gnu.org, and coordinator@translationproject.org) is
|
bison-patches@gnu.org, and coordinator@translationproject.org) is
|
||||||
appropriate for a stable release or a "serious beta". For any other
|
appropriate for a stable release or a "serious beta". For any other
|
||||||
release, drop at least info-gnu@gnu.org. For an example of how to
|
release, drop at least info-gnu@gnu.org. For an example of how to fill out
|
||||||
fill out the rest of the template, search the mailing list archives
|
the rest of the template, search the mailing list archives for the most
|
||||||
for the most recent release announcement.
|
recent release announcement.
|
||||||
|
|
||||||
For a stable release, send the same announcement on the comp.compilers
|
For a stable release, send the same announcement on the comp.compilers
|
||||||
newsgroup by sending email to compilers@iecc.com. Do not make any Cc as
|
newsgroup by sending email to compilers@iecc.com. Do not make any Cc as the
|
||||||
the moderator will throw away anything cross-posted or Cc'ed. It really
|
moderator will throw away anything cross-posted or Cc'ed. It really needs
|
||||||
needs to be a separate message.
|
to be a separate message.
|
||||||
|
|
||||||
** Prepare NEWS
|
** Prepare NEWS
|
||||||
So that developers don't accidentally add new items to the old NEWS
|
So that developers don't accidentally add new items to the old NEWS entry,
|
||||||
entry, create a new empty entry in line 3 (without the two leading
|
create a new empty entry in line 3 (without the two leading spaces):
|
||||||
spaces):
|
|
||||||
|
|
||||||
* Noteworthy changes in release ?.? (????-??-??) [?]
|
* Noteworthy changes in release ?.? (????-??-??) [?]
|
||||||
|
|
||||||
@@ -451,7 +448,7 @@ Push these changes.
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 2002-2005, 2007-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002-2005, 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Bison.
|
This file is part of GNU Bison.
|
||||||
|
|
||||||
|
|||||||
8
THANKS
8
THANKS
@@ -15,6 +15,7 @@ Anthony Heading ajrh@ajrh.net
|
|||||||
Antonio Silva Correia amsilvacorreia@hotmail.com
|
Antonio Silva Correia amsilvacorreia@hotmail.com
|
||||||
Arnold Robbins arnold@skeeve.com
|
Arnold Robbins arnold@skeeve.com
|
||||||
Art Haas ahaas@neosoft.com
|
Art Haas ahaas@neosoft.com
|
||||||
|
Askar Safin safinaskar@mail.ru
|
||||||
Baron Schwartz baron@sequent.org
|
Baron Schwartz baron@sequent.org
|
||||||
Ben Pfaff blp@cs.stanford.edu
|
Ben Pfaff blp@cs.stanford.edu
|
||||||
Benoit Perrot benoit.perrot@epita.fr
|
Benoit Perrot benoit.perrot@epita.fr
|
||||||
@@ -39,6 +40,7 @@ Daniel Hagerty hag@gnu.org
|
|||||||
David J. MacKenzie djm@gnu.org
|
David J. MacKenzie djm@gnu.org
|
||||||
David Kastrup dak@gnu.org
|
David Kastrup dak@gnu.org
|
||||||
Dennis Clarke dclarke@blastwave.org
|
Dennis Clarke dclarke@blastwave.org
|
||||||
|
Derek Clegg derek@me.com
|
||||||
Derek M. Jones derek@knosof.co.uk
|
Derek M. Jones derek@knosof.co.uk
|
||||||
Di-an Jan dianj@freeshell.org
|
Di-an Jan dianj@freeshell.org
|
||||||
Dick Streefland dick.streefland@altium.nl
|
Dick Streefland dick.streefland@altium.nl
|
||||||
@@ -48,6 +50,7 @@ Enrico Scholz enrico.scholz@informatik.tu-chemnitz.de
|
|||||||
Eric Blake ebb9@byu.net
|
Eric Blake ebb9@byu.net
|
||||||
Evgeny Stambulchik fnevgeny@plasma-gate.weizmann.ac.il
|
Evgeny Stambulchik fnevgeny@plasma-gate.weizmann.ac.il
|
||||||
Fabrice Bauzac noon@cote-dazur.com
|
Fabrice Bauzac noon@cote-dazur.com
|
||||||
|
Ferdinand Thiessen ferdinand@fthiessen.de
|
||||||
Florian Krohm florian@edamail.fishkill.ibm.com
|
Florian Krohm florian@edamail.fishkill.ibm.com
|
||||||
Frank Heckenbach frank@g-n-u.de
|
Frank Heckenbach frank@g-n-u.de
|
||||||
Frans Englich frans.englich@telia.com
|
Frans Englich frans.englich@telia.com
|
||||||
@@ -58,7 +61,7 @@ Gilles Espinasse g.esp@free.fr
|
|||||||
Goran Uddeborg goeran@uddeborg.se
|
Goran Uddeborg goeran@uddeborg.se
|
||||||
Guido Trentalancia trentalg@aston.ac.uk
|
Guido Trentalancia trentalg@aston.ac.uk
|
||||||
H. Merijn Brand h.m.brand@hccnet.nl
|
H. Merijn Brand h.m.brand@hccnet.nl
|
||||||
Hans Aberg haberg@matematik.su.se
|
Hans Åberg haberg-1@telia.com
|
||||||
Jan Nieuwenhuizen janneke@gnu.org
|
Jan Nieuwenhuizen janneke@gnu.org
|
||||||
Jerry Quinn jlquinn@optonline.net
|
Jerry Quinn jlquinn@optonline.net
|
||||||
Jesse Thilo jthilo@gnu.org
|
Jesse Thilo jthilo@gnu.org
|
||||||
@@ -93,6 +96,7 @@ Michiel De Wilde mdewilde.agilent@gmail.com
|
|||||||
Mickael Labau labau_m@epita.fr
|
Mickael Labau labau_m@epita.fr
|
||||||
Mike Castle dalgoda@ix.netcom.com
|
Mike Castle dalgoda@ix.netcom.com
|
||||||
Mike Sullivan Mike.sullivan@Oracle.COM
|
Mike Sullivan Mike.sullivan@Oracle.COM
|
||||||
|
Nate Guerin nathan.guerin@riseup.net
|
||||||
Neil Booth NeilB@earthling.net
|
Neil Booth NeilB@earthling.net
|
||||||
Nelson H. F. Beebe beebe@math.utah.edu
|
Nelson H. F. Beebe beebe@math.utah.edu
|
||||||
Nick Bowler nbowler@elliptictech.com
|
Nick Bowler nbowler@elliptictech.com
|
||||||
@@ -172,7 +176,7 @@ End:
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 2000-2015 Free Software Foundation, Inc.
|
Copyright (C) 2000-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Parser Generator.
|
This file is part of Bison, the GNU Parser Generator.
|
||||||
|
|
||||||
|
|||||||
3
TODO
3
TODO
@@ -369,7 +369,8 @@ End:
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 2001-2004, 2006, 2008-2015 Free Software Foundation, Inc.
|
Copyright (C) 2001-2004, 2006, 2008-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
283
bootstrap
283
bootstrap
@@ -1,10 +1,10 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Print a version string.
|
# Print a version string.
|
||||||
scriptversion=2014-12-08.12; # UTC
|
scriptversion=2018-04-28.14; # UTC
|
||||||
|
|
||||||
# Bootstrap this package from checked-out sources.
|
# Bootstrap this package from checked-out sources.
|
||||||
|
|
||||||
# Copyright (C) 2003-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -17,7 +17,7 @@ scriptversion=2014-12-08.12; # UTC
|
|||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# Originally written by Paul Eggert. The canonical version of this
|
# Originally written by Paul Eggert. The canonical version of this
|
||||||
# script is maintained as build-aux/bootstrap in gnulib, however, to
|
# script is maintained as build-aux/bootstrap in gnulib, however, to
|
||||||
@@ -42,7 +42,7 @@ export LC_ALL
|
|||||||
|
|
||||||
local_gl_dir=gl
|
local_gl_dir=gl
|
||||||
|
|
||||||
# Honour $PERL, but work even if there is none
|
# Honor $PERL, but work even if there is none.
|
||||||
PERL="${PERL-perl}"
|
PERL="${PERL-perl}"
|
||||||
|
|
||||||
me=$0
|
me=$0
|
||||||
@@ -109,9 +109,6 @@ die() { warn_ "$@"; exit 1; }
|
|||||||
|
|
||||||
# Configuration.
|
# Configuration.
|
||||||
|
|
||||||
# Name of the Makefile.am
|
|
||||||
gnulib_mk=gnulib.mk
|
|
||||||
|
|
||||||
# List of gnulib modules needed.
|
# List of gnulib modules needed.
|
||||||
gnulib_modules=
|
gnulib_modules=
|
||||||
|
|
||||||
@@ -141,7 +138,7 @@ po_download_command_format=\
|
|||||||
# Fallback for downloading .po files (if rsync fails).
|
# Fallback for downloading .po files (if rsync fails).
|
||||||
po_download_command_format2=\
|
po_download_command_format2=\
|
||||||
"wget --mirror -nd -q -np -A.po -P '%s' \
|
"wget --mirror -nd -q -np -A.po -P '%s' \
|
||||||
http://translationproject.org/latest/%s/"
|
https://translationproject.org/latest/%s/"
|
||||||
|
|
||||||
# Prefer a non-empty tarname (4th argument of AC_INIT if given), else
|
# Prefer a non-empty tarname (4th argument of AC_INIT if given), else
|
||||||
# fall back to the package name (1st argument with munging)
|
# fall back to the package name (1st argument with munging)
|
||||||
@@ -170,7 +167,15 @@ source_base=lib
|
|||||||
m4_base=m4
|
m4_base=m4
|
||||||
doc_base=doc
|
doc_base=doc
|
||||||
tests_base=tests
|
tests_base=tests
|
||||||
gnulib_extra_files=''
|
gnulib_extra_files="
|
||||||
|
build-aux/install-sh
|
||||||
|
build-aux/mdate-sh
|
||||||
|
build-aux/texinfo.tex
|
||||||
|
build-aux/depcomp
|
||||||
|
build-aux/config.guess
|
||||||
|
build-aux/config.sub
|
||||||
|
doc/INSTALL
|
||||||
|
"
|
||||||
|
|
||||||
# Additional gnulib-tool options to use. Use "\newline" to break lines.
|
# Additional gnulib-tool options to use. Use "\newline" to break lines.
|
||||||
gnulib_tool_option_extras=
|
gnulib_tool_option_extras=
|
||||||
@@ -264,24 +269,18 @@ case "$0" in
|
|||||||
*) test -r "$0.conf" && . ./"$0.conf" ;;
|
*) test -r "$0.conf" && . ./"$0.conf" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Extra files from gnulib, which override files from other sources.
|
|
||||||
test -z "${gnulib_extra_files}" && \
|
|
||||||
gnulib_extra_files="
|
|
||||||
build-aux/install-sh
|
|
||||||
build-aux/mdate-sh
|
|
||||||
build-aux/texinfo.tex
|
|
||||||
build-aux/depcomp
|
|
||||||
build-aux/config.guess
|
|
||||||
build-aux/config.sub
|
|
||||||
doc/INSTALL
|
|
||||||
"
|
|
||||||
|
|
||||||
if test "$vc_ignore" = auto; then
|
if test "$vc_ignore" = auto; then
|
||||||
vc_ignore=
|
vc_ignore=
|
||||||
test -d .git && vc_ignore=.gitignore
|
test -d .git && vc_ignore=.gitignore
|
||||||
test -d CVS && vc_ignore="$vc_ignore .cvsignore"
|
test -d CVS && vc_ignore="$vc_ignore .cvsignore"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test x"$gnulib_modules$gnulib_files$gnulib_extra_files" = x; then
|
||||||
|
use_gnulib=false
|
||||||
|
else
|
||||||
|
use_gnulib=true
|
||||||
|
fi
|
||||||
|
|
||||||
# Translate configuration into internal form.
|
# Translate configuration into internal form.
|
||||||
|
|
||||||
# Parse options.
|
# Parse options.
|
||||||
@@ -418,28 +417,30 @@ sort_ver() { # sort -V is not generally available
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_version_sed='
|
||||||
|
# Move version to start of line.
|
||||||
|
s/.*[v ]\([0-9]\)/\1/
|
||||||
|
|
||||||
|
# Skip lines that do not start with version.
|
||||||
|
/^[0-9]/!d
|
||||||
|
|
||||||
|
# Remove characters after the version.
|
||||||
|
s/[^.a-z0-9-].*//
|
||||||
|
|
||||||
|
# The first component must be digits only.
|
||||||
|
s/^\([0-9]*\)[a-z-].*/\1/
|
||||||
|
|
||||||
|
#the following essentially does s/5.005/5.5/
|
||||||
|
s/\.0*\([1-9]\)/.\1/g
|
||||||
|
p
|
||||||
|
q'
|
||||||
|
|
||||||
get_version() {
|
get_version() {
|
||||||
app=$1
|
app=$1
|
||||||
|
|
||||||
$app --version >/dev/null 2>&1 || { $app --version; return 1; }
|
$app --version >/dev/null 2>&1 || { $app --version; return 1; }
|
||||||
|
|
||||||
$app --version 2>&1 |
|
$app --version 2>&1 | sed -n "$get_version_sed"
|
||||||
sed -n '# Move version to start of line.
|
|
||||||
s/.*[v ]\([0-9]\)/\1/
|
|
||||||
|
|
||||||
# Skip lines that do not start with version.
|
|
||||||
/^[0-9]/!d
|
|
||||||
|
|
||||||
# Remove characters after the version.
|
|
||||||
s/[^.a-z0-9-].*//
|
|
||||||
|
|
||||||
# The first component must be digits only.
|
|
||||||
s/^\([0-9]*\)[a-z-].*/\1/
|
|
||||||
|
|
||||||
#the following essentially does s/5.005/5.5/
|
|
||||||
s/\.0*\([1-9]\)/.\1/g
|
|
||||||
p
|
|
||||||
q'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
check_versions() {
|
check_versions() {
|
||||||
@@ -610,85 +611,87 @@ git_modules_config () {
|
|||||||
test -f .gitmodules && git config --file .gitmodules "$@"
|
test -f .gitmodules && git config --file .gitmodules "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
if $use_git; then
|
if $use_gnulib; then
|
||||||
gnulib_path=$(git_modules_config submodule.gnulib.path)
|
if $use_git; then
|
||||||
test -z "$gnulib_path" && gnulib_path=gnulib
|
gnulib_path=$(git_modules_config submodule.gnulib.path)
|
||||||
fi
|
test -z "$gnulib_path" && gnulib_path=gnulib
|
||||||
|
|
||||||
# Get gnulib files. Populate $GNULIB_SRCDIR, possibly updating a
|
|
||||||
# submodule, for use in the rest of the script.
|
|
||||||
|
|
||||||
case ${GNULIB_SRCDIR--} in
|
|
||||||
-)
|
|
||||||
# Note that $use_git is necessarily true in this case.
|
|
||||||
if git_modules_config submodule.gnulib.url >/dev/null; then
|
|
||||||
echo "$0: getting gnulib files..."
|
|
||||||
git submodule init -- "$gnulib_path" || exit $?
|
|
||||||
git submodule update -- "$gnulib_path" || exit $?
|
|
||||||
|
|
||||||
elif [ ! -d "$gnulib_path" ]; then
|
|
||||||
echo "$0: getting gnulib files..."
|
|
||||||
|
|
||||||
trap cleanup_gnulib 1 2 13 15
|
|
||||||
|
|
||||||
shallow=
|
|
||||||
git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
|
|
||||||
git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" ||
|
|
||||||
cleanup_gnulib
|
|
||||||
|
|
||||||
trap - 1 2 13 15
|
|
||||||
fi
|
fi
|
||||||
GNULIB_SRCDIR=$gnulib_path
|
|
||||||
;;
|
# Get gnulib files. Populate $GNULIB_SRCDIR, possibly updating a
|
||||||
*)
|
# submodule, for use in the rest of the script.
|
||||||
# Use GNULIB_SRCDIR directly or as a reference.
|
|
||||||
if $use_git && test -d "$GNULIB_SRCDIR"/.git && \
|
case ${GNULIB_SRCDIR--} in
|
||||||
git_modules_config submodule.gnulib.url >/dev/null; then
|
-)
|
||||||
echo "$0: getting gnulib files..."
|
# Note that $use_git is necessarily true in this case.
|
||||||
if git submodule -h|grep -- --reference > /dev/null; then
|
if git_modules_config submodule.gnulib.url >/dev/null; then
|
||||||
# Prefer the one-liner available in git 1.6.4 or newer.
|
echo "$0: getting gnulib files..."
|
||||||
git submodule update --init --reference "$GNULIB_SRCDIR" \
|
git submodule init -- "$gnulib_path" || exit $?
|
||||||
"$gnulib_path" || exit $?
|
git submodule update -- "$gnulib_path" || exit $?
|
||||||
else
|
|
||||||
# This fallback allows at least git 1.5.5.
|
elif [ ! -d "$gnulib_path" ]; then
|
||||||
if test -f "$gnulib_path"/gnulib-tool; then
|
echo "$0: getting gnulib files..."
|
||||||
# Since file already exists, assume submodule init already complete.
|
|
||||||
git submodule update -- "$gnulib_path" || exit $?
|
trap cleanup_gnulib 1 2 13 15
|
||||||
else
|
|
||||||
# Older git can't clone into an empty directory.
|
shallow=
|
||||||
rmdir "$gnulib_path" 2>/dev/null
|
git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
|
||||||
git clone --reference "$GNULIB_SRCDIR" \
|
git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" ||
|
||||||
"$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \
|
cleanup_gnulib
|
||||||
&& git submodule init -- "$gnulib_path" \
|
|
||||||
&& git submodule update -- "$gnulib_path" \
|
trap - 1 2 13 15
|
||||||
|| exit $?
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
GNULIB_SRCDIR=$gnulib_path
|
GNULIB_SRCDIR=$gnulib_path
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Use GNULIB_SRCDIR directly or as a reference.
|
||||||
|
if $use_git && test -d "$GNULIB_SRCDIR"/.git && \
|
||||||
|
git_modules_config submodule.gnulib.url >/dev/null; then
|
||||||
|
echo "$0: getting gnulib files..."
|
||||||
|
if git submodule -h|grep -- --reference > /dev/null; then
|
||||||
|
# Prefer the one-liner available in git 1.6.4 or newer.
|
||||||
|
git submodule update --init --reference "$GNULIB_SRCDIR" \
|
||||||
|
"$gnulib_path" || exit $?
|
||||||
|
else
|
||||||
|
# This fallback allows at least git 1.5.5.
|
||||||
|
if test -f "$gnulib_path"/gnulib-tool; then
|
||||||
|
# Since file already exists, assume submodule init already complete.
|
||||||
|
git submodule update -- "$gnulib_path" || exit $?
|
||||||
|
else
|
||||||
|
# Older git can't clone into an empty directory.
|
||||||
|
rmdir "$gnulib_path" 2>/dev/null
|
||||||
|
git clone --reference "$GNULIB_SRCDIR" \
|
||||||
|
"$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \
|
||||||
|
&& git submodule init -- "$gnulib_path" \
|
||||||
|
&& git submodule update -- "$gnulib_path" \
|
||||||
|
|| exit $?
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
GNULIB_SRCDIR=$gnulib_path
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# $GNULIB_SRCDIR now points to the version of gnulib to use, and
|
||||||
|
# we no longer need to use git or $gnulib_path below here.
|
||||||
|
|
||||||
|
if $bootstrap_sync; then
|
||||||
|
cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || {
|
||||||
|
echo "$0: updating bootstrap and restarting..."
|
||||||
|
case $(sh -c 'echo "$1"' -- a) in
|
||||||
|
a) ignored=--;;
|
||||||
|
*) ignored=ignored;;
|
||||||
|
esac
|
||||||
|
exec sh -c \
|
||||||
|
'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
|
||||||
|
$ignored "$GNULIB_SRCDIR/build-aux/bootstrap" \
|
||||||
|
"$0" "$@" --no-bootstrap-sync
|
||||||
|
}
|
||||||
fi
|
fi
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# $GNULIB_SRCDIR now points to the version of gnulib to use, and
|
gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
|
||||||
# we no longer need to use git or $gnulib_path below here.
|
<$gnulib_tool || exit $?
|
||||||
|
|
||||||
if $bootstrap_sync; then
|
|
||||||
cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || {
|
|
||||||
echo "$0: updating bootstrap and restarting..."
|
|
||||||
case $(sh -c 'echo "$1"' -- a) in
|
|
||||||
a) ignored=--;;
|
|
||||||
*) ignored=ignored;;
|
|
||||||
esac
|
|
||||||
exec sh -c \
|
|
||||||
'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
|
|
||||||
$ignored "$GNULIB_SRCDIR/build-aux/bootstrap" \
|
|
||||||
"$0" "$@" --no-bootstrap-sync
|
|
||||||
}
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
|
|
||||||
<$gnulib_tool || exit $?
|
|
||||||
|
|
||||||
# Get translations.
|
# Get translations.
|
||||||
|
|
||||||
download_po_files() {
|
download_po_files() {
|
||||||
@@ -697,7 +700,7 @@ download_po_files() {
|
|||||||
echo "$me: getting translations into $subdir for $domain..."
|
echo "$me: getting translations into $subdir for $domain..."
|
||||||
cmd=$(printf "$po_download_command_format" "$domain" "$subdir")
|
cmd=$(printf "$po_download_command_format" "$domain" "$subdir")
|
||||||
eval "$cmd" && return
|
eval "$cmd" && return
|
||||||
# Fallback to HTTP.
|
# Fallback to HTTPS.
|
||||||
cmd=$(printf "$po_download_command_format2" "$subdir" "$domain")
|
cmd=$(printf "$po_download_command_format2" "$subdir" "$domain")
|
||||||
eval "$cmd"
|
eval "$cmd"
|
||||||
}
|
}
|
||||||
@@ -788,9 +791,9 @@ symlink_to_dir()
|
|||||||
# Leave any existing symlink alone, if it already points to the source,
|
# Leave any existing symlink alone, if it already points to the source,
|
||||||
# so that broken build tools that care about symlink times
|
# so that broken build tools that care about symlink times
|
||||||
# aren't confused into doing unnecessary builds. Conversely, if the
|
# aren't confused into doing unnecessary builds. Conversely, if the
|
||||||
# existing symlink's time stamp is older than the source, make it afresh,
|
# existing symlink's timestamp is older than the source, make it afresh,
|
||||||
# so that broken tools aren't confused into skipping needed builds. See
|
# so that broken tools aren't confused into skipping needed builds. See
|
||||||
# <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00326.html>.
|
# <https://lists.gnu.org/r/bug-gnulib/2011-05/msg00326.html>.
|
||||||
test -h "$dst" &&
|
test -h "$dst" &&
|
||||||
src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 &&
|
src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 &&
|
||||||
dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 &&
|
dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 &&
|
||||||
@@ -896,31 +899,33 @@ fi
|
|||||||
|
|
||||||
# Import from gnulib.
|
# Import from gnulib.
|
||||||
|
|
||||||
gnulib_tool_options="\
|
if $use_gnulib; then
|
||||||
--import\
|
gnulib_tool_options="\
|
||||||
--no-changelog\
|
--no-changelog\
|
||||||
--aux-dir $build_aux\
|
--aux-dir $build_aux\
|
||||||
--doc-base $doc_base\
|
--doc-base $doc_base\
|
||||||
--lib $gnulib_name\
|
--lib $gnulib_name\
|
||||||
--m4-base $m4_base/\
|
--m4-base $m4_base/\
|
||||||
--source-base $source_base/\
|
--source-base $source_base/\
|
||||||
--tests-base $tests_base\
|
--tests-base $tests_base\
|
||||||
--local-dir $local_gl_dir\
|
--local-dir $local_gl_dir\
|
||||||
$gnulib_tool_option_extras\
|
$gnulib_tool_option_extras\
|
||||||
"
|
"
|
||||||
if test $use_libtool = 1; then
|
if test $use_libtool = 1; then
|
||||||
case "$gnulib_tool_options " in
|
case "$gnulib_tool_options " in
|
||||||
*' --libtool '*) ;;
|
*' --libtool '*) ;;
|
||||||
*) gnulib_tool_options="$gnulib_tool_options --libtool" ;;
|
*) gnulib_tool_options="$gnulib_tool_options --libtool" ;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
|
echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
|
||||||
$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
|
$gnulib_tool $gnulib_tool_options --import $gnulib_modules \
|
||||||
|
|| die "gnulib-tool failed"
|
||||||
|
|
||||||
for file in $gnulib_files; do
|
for file in $gnulib_files; do
|
||||||
symlink_to_dir "$GNULIB_SRCDIR" $file \
|
symlink_to_dir "$GNULIB_SRCDIR" $file \
|
||||||
|| die "failed to symlink $file"
|
|| die "failed to symlink $file"
|
||||||
done
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
bootstrap_post_import_hook \
|
bootstrap_post_import_hook \
|
||||||
|| die "bootstrap_post_import_hook failed"
|
|| die "bootstrap_post_import_hook failed"
|
||||||
@@ -1017,9 +1022,9 @@ bootstrap_epilogue
|
|||||||
echo "$0: done. Now you can run './configure'."
|
echo "$0: done. Now you can run './configure'."
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC"
|
# time-stamp-time-zone: "UTC0"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Bootstrap configuration.
|
# Bootstrap configuration.
|
||||||
|
|
||||||
# Copyright (C) 2006-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2006-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -81,7 +81,7 @@ gnulib_tool_option_extras='--symlink --makefile-name=gnulib.mk'
|
|||||||
bootstrap_post_import_hook()
|
bootstrap_post_import_hook()
|
||||||
{
|
{
|
||||||
# Massage lib/gnulib.mk before using it later in the bootstrapping process.
|
# Massage lib/gnulib.mk before using it later in the bootstrapping process.
|
||||||
build-aux/prefix-gnulib-mk --lib-name=$gnulib_name lib/$gnulib_mk
|
build-aux/prefix-gnulib-mk --lib-name=$gnulib_name lib/gnulib.mk
|
||||||
|
|
||||||
# Ensure that ChangeLog exists, for automake.
|
# Ensure that ChangeLog exists, for automake.
|
||||||
test -f ChangeLog || touch ChangeLog
|
test -f ChangeLog || touch ChangeLog
|
||||||
|
|||||||
6
build-aux/.gitignore
vendored
6
build-aux/.gitignore
vendored
@@ -1,6 +1,4 @@
|
|||||||
/announce-gen
|
/announce-gen
|
||||||
/arg-nonnull.h
|
|
||||||
/c++defs.h
|
|
||||||
/compile
|
/compile
|
||||||
/config.guess
|
/config.guess
|
||||||
/config.rpath
|
/config.rpath
|
||||||
@@ -16,14 +14,12 @@
|
|||||||
/install-sh
|
/install-sh
|
||||||
/javacomp.sh.in
|
/javacomp.sh.in
|
||||||
/javaexec.sh.in
|
/javaexec.sh.in
|
||||||
/link-warning.h
|
|
||||||
/mdate-sh
|
/mdate-sh
|
||||||
/missing
|
/missing
|
||||||
|
/prefix-gnulib-mk
|
||||||
/test-driver
|
/test-driver
|
||||||
/texinfo.tex
|
/texinfo.tex
|
||||||
/update-copyright
|
/update-copyright
|
||||||
/useless-if-before-free
|
/useless-if-before-free
|
||||||
/vc-list-files
|
/vc-list-files
|
||||||
/warn-on-use.h
|
|
||||||
/ylwrap
|
/ylwrap
|
||||||
/prefix-gnulib-mk
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2012-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2012-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
48
build-aux/Linux.valgrind
Normal file
48
build-aux/Linux.valgrind
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# Copyright (C) 2012-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Valgrind suppression file for Bison.
|
||||||
|
|
||||||
|
# Linux prague 4.1.2-2-ARCH #1 SMP PREEMPT Wed Jul 15 08:30:32 UTC 2015
|
||||||
|
# x86_64 GNU/Linux
|
||||||
|
{
|
||||||
|
Probably exception handling from G++ 5.1.
|
||||||
|
Memcheck:Leak
|
||||||
|
match-leak-kinds: reachable
|
||||||
|
fun:malloc
|
||||||
|
fun:pool
|
||||||
|
fun:__static_initialization_and_destruction_0
|
||||||
|
fun:_GLOBAL__sub_I_eh_alloc.cc
|
||||||
|
fun:call_init.part.0
|
||||||
|
fun:_dl_init
|
||||||
|
obj:/usr/lib/ld-2.21.so
|
||||||
|
}
|
||||||
|
|
||||||
|
# Linux seattle 2.6.32-5-amd64 #1 SMP Thu Mar 22 17:26:33 UTC 2012
|
||||||
|
# x86_64 GNU/Linux
|
||||||
|
{
|
||||||
|
index
|
||||||
|
Memcheck:Cond
|
||||||
|
fun:index
|
||||||
|
fun:expand_dynamic_string_token
|
||||||
|
fun:_dl_map_object
|
||||||
|
fun:map_doit
|
||||||
|
fun:_dl_catch_error
|
||||||
|
fun:do_preload
|
||||||
|
fun:dl_main
|
||||||
|
fun:_dl_sysdep_start
|
||||||
|
fun:_dl_start
|
||||||
|
obj:/lib/ld-2.11.3.so
|
||||||
|
}
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
# Linux seattle 2.6.32-5-amd64 #1 SMP Thu Mar 22 17:26:33 UTC 2012
|
|
||||||
# x86_64 GNU/Linux
|
|
||||||
{
|
|
||||||
index
|
|
||||||
Memcheck:Cond
|
|
||||||
fun:index
|
|
||||||
fun:expand_dynamic_string_token
|
|
||||||
fun:_dl_map_object
|
|
||||||
fun:map_doit
|
|
||||||
fun:_dl_catch_error
|
|
||||||
fun:do_preload
|
|
||||||
fun:dl_main
|
|
||||||
fun:_dl_sysdep_start
|
|
||||||
fun:_dl_start
|
|
||||||
obj:/lib/ld-2.11.3.so
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2000-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2000-2015, 2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -13,10 +13,10 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
EXTRA_DIST += \
|
EXTRA_DIST += \
|
||||||
build-aux/cross-options.pl \
|
build-aux/Darwin.valgrind \
|
||||||
build-aux/darwin11.4.0.valgrind \
|
build-aux/Linux.valgrind \
|
||||||
build-aux/linux-gnu.valgrind \
|
build-aux/cross-options.pl \
|
||||||
build-aux/move-if-change \
|
build-aux/move-if-change \
|
||||||
build-aux/prev-version.txt \
|
build-aux/prev-version.txt \
|
||||||
build-aux/update-b4-copyright
|
build-aux/update-b4-copyright
|
||||||
|
|||||||
4
build-aux/snippet/.gitignore
vendored
4
build-aux/snippet/.gitignore
vendored
@@ -1,4 +0,0 @@
|
|||||||
/_Noreturn.h
|
|
||||||
/arg-nonnull.h
|
|
||||||
/c++defs.h
|
|
||||||
/warn-on-use.h
|
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
# Update b4_copyright invocations or b4_copyright_years definitions to
|
# Update b4_copyright invocations or b4_copyright_years definitions to
|
||||||
# include the current year.
|
# include the current year.
|
||||||
|
|
||||||
# Copyright (C) 2009-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2009-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# In configure.ac, update PACKAGE_COPYRIGHT_YEAR to the current year.
|
# In configure.ac, update PACKAGE_COPYRIGHT_YEAR to the current year.
|
||||||
|
|
||||||
# Copyright (C) 2010-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2010-2015, 2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
39
cfg.mk
39
cfg.mk
@@ -1,5 +1,5 @@
|
|||||||
# Customize maint.mk -*- makefile -*-
|
# Customize maint.mk -*- makefile -*-
|
||||||
# Copyright (C) 2008-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2008-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -34,7 +34,7 @@ _is-dist-target = $(filter-out %clean maintainer-check% maintainer-%-check, \
|
|||||||
$(filter maintainer-% dist% alpha beta major,$(MAKECMDGOALS)))
|
$(filter maintainer-% dist% alpha beta major,$(MAKECMDGOALS)))
|
||||||
|
|
||||||
url_dir_list = \
|
url_dir_list = \
|
||||||
ftp://$(gnu_rel_host)/gnu/bison
|
https://$(gnu_rel_host)/gnu/bison
|
||||||
|
|
||||||
# Tests not to run as part of "make distcheck".
|
# Tests not to run as part of "make distcheck".
|
||||||
local-checks-to-skip = \
|
local-checks-to-skip = \
|
||||||
@@ -158,23 +158,24 @@ sc_space_before_open_paren:
|
|||||||
|
|
||||||
exclude = \
|
exclude = \
|
||||||
$(foreach a,$(1),$(eval $(subst $$,$$$$,exclude_file_name_regexp--sc_$(a))))
|
$(foreach a,$(1),$(eval $(subst $$,$$$$,exclude_file_name_regexp--sc_$(a))))
|
||||||
$(call exclude, \
|
$(call exclude, \
|
||||||
bindtextdomain=^lib/main.c$$ \
|
bindtextdomain=^lib/main.c$$ \
|
||||||
preprocessor_indentation=^data/|^lib/|^src/parse-gram.[ch]$$ \
|
preprocessor_indentation=^data/|^lib/|^src/parse-gram.[ch]$$ \
|
||||||
program_name=^lib/main.c$$ \
|
program_name=^lib/main.c$$ \
|
||||||
prohibit_always-defined_macros=^data/yacc.c$$|^djgpp/ \
|
prohibit_always-defined_macros=^data/yacc.c$$|^djgpp/ \
|
||||||
prohibit_always-defined_macros+=?|^lib/timevar.c$$ \
|
prohibit_always-defined_macros+=?|^lib/timevar.c$$ \
|
||||||
prohibit_always-defined_macros+=?|^src/(parse-gram.c|system.h)$$ \
|
prohibit_always-defined_macros+=?|^src/(parse-gram.c|system.h)$$ \
|
||||||
prohibit_always-defined_macros+=?|^tests/regression.at$$ \
|
prohibit_always-defined_macros+=?|^tests/regression.at$$ \
|
||||||
prohibit_always_true_header_tests=^djgpp/subpipe.h$$|^lib/timevar.c$$ \
|
prohibit_always_true_header_tests=^djgpp/subpipe.h$$|^lib/timevar.c$$ \
|
||||||
prohibit_always_true_header_tests+=?|^m4/timevar.m4$$ \
|
prohibit_always_true_header_tests+=?|^m4/timevar.m4$$ \
|
||||||
prohibit_defined_have_decl_tests=?|^lib/timevar.c$$ \
|
prohibit_defined_have_decl_tests=?|^lib/timevar.c$$ \
|
||||||
prohibit_doubled_word=^tests/named-refs.at$$ \
|
prohibit_doubled_word=^tests/named-refs.at$$ \
|
||||||
prohibit_magic_number_exit=^doc/bison.texi$$ \
|
prohibit_magic_number_exit=^doc/bison.texi$$ \
|
||||||
prohibit_magic_number_exit+=?|^tests/(conflicts|regression).at$$ \
|
prohibit_magic_number_exit+=?|^tests/(conflicts|regression).at$$ \
|
||||||
prohibit_strcmp=^doc/bison\.texi|tests/local\.at$$ \
|
prohibit_strcmp=^doc/bison\.texi|tests/local\.at$$ \
|
||||||
prohibit_tab_based_indentation=\.(am|mk)$$|^djgpp/|^\.git \
|
prohibit_tab_based_indentation=\.(am|mk)$$|^djgpp/|^\.git \
|
||||||
require_config_h_first=^(lib/yyerror|data/(glr|yacc))\.c$$ \
|
require_config_h_first=^(lib/yyerror|data/(glr|yacc))\.c$$ \
|
||||||
space_before_open_paren=^(data/|djgpp/) \
|
space_before_open_paren=^(data/|djgpp/) \
|
||||||
unmarked_diagnostics=^(djgpp/|doc/bison.texi$$|tests/c\+\+\.at$$) \
|
two_space_separator_in_usage=^(bootstrap) \
|
||||||
|
unmarked_diagnostics=^(djgpp/|doc/bison.texi$$|tests/c\+\+\.at$$) \
|
||||||
)
|
)
|
||||||
|
|||||||
28
configure.ac
28
configure.ac
@@ -1,6 +1,6 @@
|
|||||||
# Configure template for GNU Bison. -*-Autoconf-*-
|
# Configure template for GNU Bison. -*-Autoconf-*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2015, 2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -26,7 +26,7 @@ m4_pattern_forbid([^gl_[A-Z]])
|
|||||||
AC_INIT([GNU Bison],
|
AC_INIT([GNU Bison],
|
||||||
m4_esyscmd([build-aux/git-version-gen .tarball-version]),
|
m4_esyscmd([build-aux/git-version-gen .tarball-version]),
|
||||||
[bug-bison@gnu.org])
|
[bug-bison@gnu.org])
|
||||||
AC_SUBST([PACKAGE_COPYRIGHT_YEAR], [2015])
|
AC_SUBST([PACKAGE_COPYRIGHT_YEAR], [2018])
|
||||||
AC_DEFINE_UNQUOTED([PACKAGE_COPYRIGHT_YEAR], [$PACKAGE_COPYRIGHT_YEAR],
|
AC_DEFINE_UNQUOTED([PACKAGE_COPYRIGHT_YEAR], [$PACKAGE_COPYRIGHT_YEAR],
|
||||||
[The copyright year for this package])
|
[The copyright year for this package])
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ AC_ARG_ENABLE([gcc-warnings],
|
|||||||
AM_CONDITIONAL([ENABLE_GCC_WARNINGS], [test "$enable_gcc_warnings" = yes])
|
AM_CONDITIONAL([ENABLE_GCC_WARNINGS], [test "$enable_gcc_warnings" = yes])
|
||||||
if test "$enable_gcc_warnings" = yes; then
|
if test "$enable_gcc_warnings" = yes; then
|
||||||
warn_common='-Wall -Wextra -Wno-sign-compare -Wcast-align -Wdocumentation
|
warn_common='-Wall -Wextra -Wno-sign-compare -Wcast-align -Wdocumentation
|
||||||
-Wformat -Wpointer-arith -Wwrite-strings'
|
-Wformat -Wnull-dereference -Wpointer-arith -Wwrite-strings'
|
||||||
warn_c='-Wbad-function-cast -Wshadow -Wstrict-prototypes'
|
warn_c='-Wbad-function-cast -Wshadow -Wstrict-prototypes'
|
||||||
warn_cxx='-Wnoexcept'
|
warn_cxx='-Wnoexcept'
|
||||||
# Warnings for the test suite only.
|
# Warnings for the test suite only.
|
||||||
@@ -90,7 +90,12 @@ if test "$enable_gcc_warnings" = yes; then
|
|||||||
# -fno-color-diagnostics: Clang's use of colors in the error
|
# -fno-color-diagnostics: Clang's use of colors in the error
|
||||||
# messages is confusing the tests looking at the compiler's output
|
# messages is confusing the tests looking at the compiler's output
|
||||||
# (e.g., synclines.at).
|
# (e.g., synclines.at).
|
||||||
warn_tests='-Wundef -pedantic -Wsign-compare -fno-color-diagnostics'
|
#
|
||||||
|
# -Wno-keyword-macro: We use the "#define private public" dirty
|
||||||
|
# trick in the test suite to check some private implementation
|
||||||
|
# details for lalr1.cc.
|
||||||
|
warn_tests='-Wundef -pedantic -Wdeprecated -Wsign-compare -fno-color-diagnostics
|
||||||
|
-Wno-keyword-macro'
|
||||||
|
|
||||||
AC_LANG_PUSH([C])
|
AC_LANG_PUSH([C])
|
||||||
# Clang supports many of GCC's -W options, but only issues warnings
|
# Clang supports many of GCC's -W options, but only issues warnings
|
||||||
@@ -220,20 +225,21 @@ AC_CONFIG_FILES([etc/bench.pl], [chmod +x etc/bench.pl])
|
|||||||
AC_CONFIG_TESTDIR(tests)
|
AC_CONFIG_TESTDIR(tests)
|
||||||
AC_CONFIG_FILES([tests/atlocal])
|
AC_CONFIG_FILES([tests/atlocal])
|
||||||
AC_CONFIG_FILES([tests/bison], [chmod +x tests/bison])
|
AC_CONFIG_FILES([tests/bison], [chmod +x tests/bison])
|
||||||
|
|
||||||
AC_CHECK_PROGS([VALGRIND], [valgrind])
|
AC_CHECK_PROGS([VALGRIND], [valgrind])
|
||||||
case $VALGRIND:$host_os in
|
# Use something simpler that $host_os to select our suppression file.
|
||||||
|
uname=`uname`
|
||||||
|
case $VALGRIND:$uname in
|
||||||
'':*) ;;
|
'':*) ;;
|
||||||
*:darwin*)
|
*:Darwin)
|
||||||
# See README-hacking.
|
# See README-hacking.
|
||||||
# VALGRIND+='-q --suppressions=$(abs_top_srcdir)/build-aux/darwin11.4.0.valgrind'
|
|
||||||
VALGRIND=;;
|
VALGRIND=;;
|
||||||
*:*)
|
*:*)
|
||||||
suppfile=build-aux/$host_os.valgrind
|
suppfile=build-aux/$uname.valgrind
|
||||||
if test -f "$srcdir/$suppfile"; then
|
if test -f "$srcdir/$suppfile"; then
|
||||||
VALGRIND="$VALGRIND --gen-suppressions=all"
|
AC_SUBST([VALGRIND_OPTS_SUPPRESSION],
|
||||||
VALGRIND="$VALGRIND --suppressions=\$(abs_top_srcdir)/$suppfile"
|
["--suppressions=\$(abs_top_srcdir)/$suppfile"])
|
||||||
fi
|
fi
|
||||||
AC_SUBST([VALGRIND_PREBISON], ["$VALGRIND -q"])
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ into various formats.
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 2002, 2008-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2008-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Bison.
|
This file is part of GNU Bison.
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Language-independent M4 Macros for Bison.
|
# Language-independent M4 Macros for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2002, 2004-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2004-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
# C++ skeleton dispatching for Bison.
|
# C++ skeleton dispatching for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2006-2007, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
# Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
66
data/c++.m4
66
data/c++.m4
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -30,6 +30,16 @@ m4_include(b4_pkgdatadir/[c.m4])
|
|||||||
m4_define([b4_comment],
|
m4_define([b4_comment],
|
||||||
[b4_comment_([$1], [$2// ], [$2// ])])
|
[b4_comment_([$1], [$2// ], [$2// ])])
|
||||||
|
|
||||||
|
# b4_inline(hh|cc)
|
||||||
|
# ----------------
|
||||||
|
# Expand to `inline\n ` if $1 is hh.
|
||||||
|
m4_define([b4_inline],
|
||||||
|
[m4_case([$1],
|
||||||
|
[cc], [],
|
||||||
|
[hh], [[inline
|
||||||
|
]],
|
||||||
|
[m4_fatal([$0: invalid argument: $1])])])
|
||||||
|
|
||||||
## -------- ##
|
## -------- ##
|
||||||
## Checks. ##
|
## Checks. ##
|
||||||
## -------- ##
|
## -------- ##
|
||||||
@@ -275,25 +285,22 @@ m4_define([b4_public_types_declare],
|
|||||||
]b4_symbol_constructor_declare])
|
]b4_symbol_constructor_declare])
|
||||||
|
|
||||||
|
|
||||||
# b4_public_types_define
|
# b4_public_types_define(hh|cc)
|
||||||
# ----------------------
|
# -----------------------------
|
||||||
# Provide the implementation needed by the public types.
|
# Provide the implementation needed by the public types.
|
||||||
m4_define([b4_public_types_define],
|
m4_define([b4_public_types_define],
|
||||||
[[ inline
|
[ b4_inline([$1])b4_parser_class_name[::syntax_error::syntax_error (]b4_locations_if([const location_type& l, ])[const std::string& m)
|
||||||
]b4_parser_class_name[::syntax_error::syntax_error (]b4_locations_if([const location_type& l, ])[const std::string& m)
|
|
||||||
: std::runtime_error (m)]b4_locations_if([
|
: std::runtime_error (m)]b4_locations_if([
|
||||||
, location (l)])[
|
, location (l)])[
|
||||||
{}
|
{}
|
||||||
|
|
||||||
// basic_symbol.
|
// basic_symbol.
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol ()
|
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol ()
|
||||||
: value ()
|
: value ()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (const basic_symbol& other)
|
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (const basic_symbol& other)
|
||||||
: Base (other)
|
: Base (other)
|
||||||
, value ()]b4_locations_if([
|
, value ()]b4_locations_if([
|
||||||
@@ -304,9 +311,7 @@ m4_define([b4_public_types_define],
|
|||||||
[value = other.value;])[
|
[value = other.value;])[
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
|
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
|
||||||
[typename Base::kind_type t],
|
[typename Base::kind_type t],
|
||||||
[const semantic_type& v],
|
[const semantic_type& v],
|
||||||
@@ -323,7 +328,6 @@ m4_define([b4_public_types_define],
|
|||||||
]b4_type_foreach([b4_basic_symbol_constructor_define])], [[
|
]b4_type_foreach([b4_basic_symbol_constructor_define])], [[
|
||||||
/// Constructor for valueless symbols.
|
/// Constructor for valueless symbols.
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
|
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
|
||||||
[typename Base::kind_type t],
|
[typename Base::kind_type t],
|
||||||
b4_locations_if([const location_type& l]))[)
|
b4_locations_if([const location_type& l]))[)
|
||||||
@@ -333,14 +337,12 @@ m4_define([b4_public_types_define],
|
|||||||
{}]])[
|
{}]])[
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::~basic_symbol ()
|
]b4_parser_class_name[::basic_symbol<Base>::~basic_symbol ()
|
||||||
{
|
{
|
||||||
clear ();
|
clear ();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::clear ()
|
]b4_parser_class_name[::basic_symbol<Base>::clear ()
|
||||||
{]b4_variant_if([[
|
{]b4_variant_if([[
|
||||||
@@ -361,7 +363,6 @@ m4_define([b4_public_types_define],
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
bool
|
bool
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::empty () const
|
]b4_parser_class_name[::basic_symbol<Base>::empty () const
|
||||||
{
|
{
|
||||||
@@ -369,11 +370,10 @@ m4_define([b4_public_types_define],
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::move (basic_symbol& s)
|
]b4_parser_class_name[::basic_symbol<Base>::move (basic_symbol& s)
|
||||||
{
|
{
|
||||||
super_type::move(s);
|
super_type::move (s);
|
||||||
]b4_variant_if([b4_symbol_variant([this->type_get ()], [value], [move],
|
]b4_variant_if([b4_symbol_variant([this->type_get ()], [value], [move],
|
||||||
[s.value])],
|
[s.value])],
|
||||||
[value = s.value;])[]b4_locations_if([
|
[value = s.value;])[]b4_locations_if([
|
||||||
@@ -381,45 +381,38 @@ m4_define([b4_public_types_define],
|
|||||||
}
|
}
|
||||||
|
|
||||||
// by_type.
|
// by_type.
|
||||||
inline
|
]b4_inline([$1])b4_parser_class_name[::by_type::by_type ()
|
||||||
]b4_parser_class_name[::by_type::by_type ()
|
|
||||||
: type (empty_symbol)
|
: type (empty_symbol)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
]b4_inline([$1])b4_parser_class_name[::by_type::by_type (const by_type& other)
|
||||||
]b4_parser_class_name[::by_type::by_type (const by_type& other)
|
|
||||||
: type (other.type)
|
: type (other.type)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
]b4_inline([$1])b4_parser_class_name[::by_type::by_type (token_type t)
|
||||||
]b4_parser_class_name[::by_type::by_type (token_type t)
|
|
||||||
: type (yytranslate_ (t))
|
: type (yytranslate_ (t))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
]b4_inline([$1])[void
|
||||||
void
|
|
||||||
]b4_parser_class_name[::by_type::clear ()
|
]b4_parser_class_name[::by_type::clear ()
|
||||||
{
|
{
|
||||||
type = empty_symbol;
|
type = empty_symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
]b4_inline([$1])[void
|
||||||
void
|
|
||||||
]b4_parser_class_name[::by_type::move (by_type& that)
|
]b4_parser_class_name[::by_type::move (by_type& that)
|
||||||
{
|
{
|
||||||
type = that.type;
|
type = that.type;
|
||||||
that.clear ();
|
that.clear ();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
]b4_inline([$1])[int
|
||||||
int
|
|
||||||
]b4_parser_class_name[::by_type::type_get () const
|
]b4_parser_class_name[::by_type::type_get () const
|
||||||
{
|
{
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
]b4_token_ctor_if([[
|
]b4_token_ctor_if([[
|
||||||
inline
|
]b4_inline([$1])b4_parser_class_name[::token_type
|
||||||
]b4_parser_class_name[::token_type
|
|
||||||
]b4_parser_class_name[::by_type::token () const
|
]b4_parser_class_name[::by_type::token () const
|
||||||
{
|
{
|
||||||
// YYTOKNUM[NUM] -- (External) token number corresponding to the
|
// YYTOKNUM[NUM] -- (External) token number corresponding to the
|
||||||
@@ -445,14 +438,13 @@ m4_define([b4_symbol_constructor_declare], [])
|
|||||||
m4_define([b4_symbol_constructor_define], [])
|
m4_define([b4_symbol_constructor_define], [])
|
||||||
|
|
||||||
|
|
||||||
# b4_yytranslate_define
|
# b4_yytranslate_define(cc|hh)
|
||||||
# ---------------------
|
# ----------------------------
|
||||||
# Define yytranslate_. Sometimes used in the header file,
|
# Define yytranslate_. Sometimes used in the header file ($1=hh),
|
||||||
# sometimes in the cc file.
|
# sometimes in the cc file.
|
||||||
m4_define([b4_yytranslate_define],
|
m4_define([b4_yytranslate_define],
|
||||||
[[ // Symbol number corresponding to token number t.
|
[[ // Symbol number corresponding to token number t.
|
||||||
inline
|
]b4_inline([$1])b4_parser_class_name[::token_number_type
|
||||||
]b4_parser_class_name[::token_number_type
|
|
||||||
]b4_parser_class_name[::yytranslate_ (]b4_token_ctor_if([token_type],
|
]b4_parser_class_name[::yytranslate_ (]b4_token_ctor_if([token_type],
|
||||||
[int])[ t)
|
[int])[ t)
|
||||||
{
|
{
|
||||||
@@ -462,12 +454,12 @@ m4_define([b4_yytranslate_define],
|
|||||||
{
|
{
|
||||||
]b4_translate[
|
]b4_translate[
|
||||||
};
|
};
|
||||||
const unsigned int user_token_number_max_ = ]b4_user_token_number_max[;
|
const unsigned user_token_number_max_ = ]b4_user_token_number_max[;
|
||||||
const token_number_type undef_token_ = ]b4_undef_token_number[;
|
const token_number_type undef_token_ = ]b4_undef_token_number[;
|
||||||
|
|
||||||
if (static_cast<int>(t) <= yyeof_)
|
if (static_cast<int> (t) <= yyeof_)
|
||||||
return yyeof_;
|
return yyeof_;
|
||||||
else if (static_cast<unsigned int> (t) <= user_token_number_max_)
|
else if (static_cast<unsigned> (t) <= user_token_number_max_)
|
||||||
return translate_table[t];
|
return translate_table[t];
|
||||||
else
|
else
|
||||||
return undef_token_;
|
return undef_token_;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Common code for C-like languages (C, C++, Java, etc.)
|
# Common code for C-like languages (C, C++, Java, etc.)
|
||||||
|
|
||||||
# Copyright (C) 2012-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2012-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
# C skeleton dispatching for Bison.
|
# C skeleton dispatching for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2006-2007, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
# Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# C M4 Macros for Bison.
|
# C M4 Macros for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2002, 2004-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2004-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -459,7 +459,8 @@ b4_syncline([@oline@], [@ofile@])
|
|||||||
# ------------------------------------
|
# ------------------------------------
|
||||||
m4_define([b4_predicate_case],
|
m4_define([b4_predicate_case],
|
||||||
[ case $1:
|
[ case $1:
|
||||||
if (! ($2)) YYERROR;
|
if (! (
|
||||||
|
$2)) YYERROR;
|
||||||
b4_syncline([@oline@], [@ofile@])
|
b4_syncline([@oline@], [@ofile@])
|
||||||
break;])
|
break;])
|
||||||
|
|
||||||
|
|||||||
26
data/glr.c
26
data/glr.c
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# GLR skeleton for Bison
|
# GLR skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -198,7 +198,7 @@ m4_if(b4_skeleton, ["glr.c"],
|
|||||||
[b4_defines_if(
|
[b4_defines_if(
|
||||||
[b4_output_begin([b4_spec_defines_file])
|
[b4_output_begin([b4_spec_defines_file])
|
||||||
b4_copyright([Skeleton interface for Bison GLR parsers in C],
|
b4_copyright([Skeleton interface for Bison GLR parsers in C],
|
||||||
[2002-2015])[
|
[2002-2015, 2018])[
|
||||||
|
|
||||||
]b4_cpp_guard_open([b4_spec_defines_file])[
|
]b4_cpp_guard_open([b4_spec_defines_file])[
|
||||||
]b4_shared_declarations[
|
]b4_shared_declarations[
|
||||||
@@ -213,7 +213,7 @@ b4_copyright([Skeleton interface for Bison GLR parsers in C],
|
|||||||
|
|
||||||
b4_output_begin([b4_parser_file_name])
|
b4_output_begin([b4_parser_file_name])
|
||||||
b4_copyright([Skeleton implementation for Bison GLR parsers in C],
|
b4_copyright([Skeleton implementation for Bison GLR parsers in C],
|
||||||
[2002-2015])[
|
[2002-2015, 2018])[
|
||||||
|
|
||||||
/* C GLR parser skeleton written by Paul Hilfinger. */
|
/* C GLR parser skeleton written by Paul Hilfinger. */
|
||||||
|
|
||||||
@@ -808,6 +808,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
|
|||||||
*yyvalp = yyval_default;
|
*yyvalp = yyval_default;
|
||||||
else
|
else
|
||||||
*yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;]b4_locations_if([[
|
*yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;]b4_locations_if([[
|
||||||
|
/* Default location. */
|
||||||
YYLLOC_DEFAULT ((*yylocp), (yyvsp - yyrhslen), yyrhslen);
|
YYLLOC_DEFAULT ((*yylocp), (yyvsp - yyrhslen), yyrhslen);
|
||||||
yystackp->yyerror_range[1].yystate.yyloc = *yylocp;
|
yystackp->yyerror_range[1].yystate.yyloc = *yylocp;
|
||||||
]])[
|
]])[
|
||||||
@@ -2074,6 +2075,7 @@ yyreportSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
|
|||||||
case N: \
|
case N: \
|
||||||
yyformat = S; \
|
yyformat = S; \
|
||||||
break
|
break
|
||||||
|
default: /* Avoid compiler warnings. */
|
||||||
YYCASE_(0, YY_("syntax error"));
|
YYCASE_(0, YY_("syntax error"));
|
||||||
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
||||||
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
||||||
@@ -2294,8 +2296,8 @@ b4_dollar_popdef])[]dnl
|
|||||||
{
|
{
|
||||||
yyrule = yydefaultAction (yystate);
|
yyrule = yydefaultAction (yystate);
|
||||||
if (yyrule == 0)
|
if (yyrule == 0)
|
||||||
{
|
{]b4_locations_if([[
|
||||||
]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
|
yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
|
||||||
yyreportSyntaxError (&yystack]b4_user_args[);
|
yyreportSyntaxError (&yystack]b4_user_args[);
|
||||||
goto yyuser_error;
|
goto yyuser_error;
|
||||||
}
|
}
|
||||||
@@ -2334,8 +2336,8 @@ b4_dollar_popdef])[]dnl
|
|||||||
yystack.yyerrState -= 1;
|
yystack.yyerrState -= 1;
|
||||||
}
|
}
|
||||||
else if (yyisErrorAction (yyaction))
|
else if (yyisErrorAction (yyaction))
|
||||||
{
|
{]b4_locations_if([[
|
||||||
]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
|
yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
|
||||||
yyreportSyntaxError (&yystack]b4_user_args[);
|
yyreportSyntaxError (&yystack]b4_user_args[);
|
||||||
goto yyuser_error;
|
goto yyuser_error;
|
||||||
}
|
}
|
||||||
@@ -2380,8 +2382,8 @@ b4_dollar_popdef])[]dnl
|
|||||||
if (yystack.yytops.yysize == 0)
|
if (yystack.yytops.yysize == 0)
|
||||||
yyFail (&yystack][]b4_lpure_args[, YY_("syntax error"));
|
yyFail (&yystack][]b4_lpure_args[, YY_("syntax error"));
|
||||||
YYCHK1 (yyresolveStack (&yystack]b4_user_args[));
|
YYCHK1 (yyresolveStack (&yystack]b4_user_args[));
|
||||||
YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
|
YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));]b4_locations_if([[
|
||||||
]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
|
yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
|
||||||
yyreportSyntaxError (&yystack]b4_user_args[);
|
yyreportSyntaxError (&yystack]b4_user_args[);
|
||||||
goto yyuser_error;
|
goto yyuser_error;
|
||||||
}
|
}
|
||||||
@@ -2462,9 +2464,9 @@ b4_dollar_popdef])[]dnl
|
|||||||
{
|
{
|
||||||
while (yystates[yyk])
|
while (yystates[yyk])
|
||||||
{
|
{
|
||||||
yyGLRState *yys = yystates[yyk];
|
yyGLRState *yys = yystates[yyk];]b4_locations_if([[
|
||||||
]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yys->yyloc;]]
|
yystack.yyerror_range[1].yystate.yyloc = yys->yyloc;]])[
|
||||||
)[ if (yys->yypred != YY_NULLPTR)
|
if (yys->yypred != YY_NULLPTR)
|
||||||
yydestroyGLRState ("Cleanup: popping", yys]b4_user_args[);
|
yydestroyGLRState ("Cleanup: popping", yys]b4_user_args[);
|
||||||
yystates[yyk] = yys->yypred;
|
yystates[yyk] = yys->yypred;
|
||||||
yystack.yynextFree -= 1;
|
yystack.yynextFree -= 1;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# C++ GLR skeleton for Bison
|
# C++ GLR skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -177,7 +177,7 @@ m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl
|
|||||||
| Print this symbol. |
|
| Print this symbol. |
|
||||||
`--------------------*/
|
`--------------------*/
|
||||||
|
|
||||||
inline void
|
void
|
||||||
]b4_parser_class_name[::yy_symbol_value_print_ (int yytype,
|
]b4_parser_class_name[::yy_symbol_value_print_ (int yytype,
|
||||||
const semantic_type* yyvaluep]b4_locations_if([[,
|
const semantic_type* yyvaluep]b4_locations_if([[,
|
||||||
const location_type* yylocationp]])[)
|
const location_type* yylocationp]])[)
|
||||||
@@ -329,7 +329,7 @@ b4_percent_define_flag_if([[global_tokens_and_yystype]],
|
|||||||
b4_defines_if(
|
b4_defines_if(
|
||||||
[b4_output_begin([b4_spec_defines_file])
|
[b4_output_begin([b4_spec_defines_file])
|
||||||
b4_copyright([Skeleton interface for Bison GLR parsers in C++],
|
b4_copyright([Skeleton interface for Bison GLR parsers in C++],
|
||||||
[2002-2015])[
|
[2002-2015, 2018])[
|
||||||
|
|
||||||
// C++ GLR parser skeleton written by Akim Demaille.
|
// C++ GLR parser skeleton written by Akim Demaille.
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Java skeleton dispatching for Bison.
|
# Java skeleton dispatching for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2007, 2009-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Java language support for Bison
|
# Java language support for Bison
|
||||||
|
|
||||||
# Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -131,7 +131,7 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param))])])
|
|||||||
|
|
||||||
|
|
||||||
m4_pushdef([b4_copyright_years],
|
m4_pushdef([b4_copyright_years],
|
||||||
[2002-2015])
|
[2002-2015, 2018])
|
||||||
|
|
||||||
m4_define([b4_parser_class_name],
|
m4_define([b4_parser_class_name],
|
||||||
[b4_percent_define_get([[parser_class_name]])])
|
[b4_percent_define_get([[parser_class_name]])])
|
||||||
@@ -142,9 +142,9 @@ b4_bison_locations_if([# Backward compatibility.
|
|||||||
m4_include(b4_pkgdatadir/[stack.hh])
|
m4_include(b4_pkgdatadir/[stack.hh])
|
||||||
b4_variant_if([m4_include(b4_pkgdatadir/[variant.hh])])
|
b4_variant_if([m4_include(b4_pkgdatadir/[variant.hh])])
|
||||||
|
|
||||||
# b4_shared_declarations
|
# b4_shared_declarations(hh|cc)
|
||||||
# ----------------------
|
# -----------------------------
|
||||||
# Declaration that might either go into the header (if --defines)
|
# Declaration that might either go into the header (if --defines, $1 = hh)
|
||||||
# or open coded in the parser body.
|
# or open coded in the parser body.
|
||||||
m4_define([b4_shared_declarations],
|
m4_define([b4_shared_declarations],
|
||||||
[b4_percent_code_get([[requires]])[
|
[b4_percent_code_get([[requires]])[
|
||||||
@@ -314,6 +314,8 @@ b4_location_define])])[
|
|||||||
typedef basic_symbol<by_state> super_type;
|
typedef basic_symbol<by_state> super_type;
|
||||||
/// Construct an empty symbol.
|
/// Construct an empty symbol.
|
||||||
stack_symbol_type ();
|
stack_symbol_type ();
|
||||||
|
/// Copy construct.
|
||||||
|
stack_symbol_type (const stack_symbol_type& that);
|
||||||
/// Steal the contents from \a sym to build this.
|
/// Steal the contents from \a sym to build this.
|
||||||
stack_symbol_type (state_type s, symbol_type& sym);
|
stack_symbol_type (state_type s, symbol_type& sym);
|
||||||
/// Assignment, needed by push_back.
|
/// Assignment, needed by push_back.
|
||||||
@@ -342,7 +344,7 @@ b4_location_define])])[
|
|||||||
void yypush_ (const char* m, state_type s, symbol_type& sym);
|
void yypush_ (const char* m, state_type s, symbol_type& sym);
|
||||||
|
|
||||||
/// Pop \a n symbols the three stacks.
|
/// Pop \a n symbols the three stacks.
|
||||||
void yypop_ (unsigned int n = 1);
|
void yypop_ (unsigned n = 1);
|
||||||
|
|
||||||
/// Constants.
|
/// Constants.
|
||||||
enum
|
enum
|
||||||
@@ -359,8 +361,8 @@ b4_location_define])])[
|
|||||||
]b4_parse_param_vars[
|
]b4_parse_param_vars[
|
||||||
};
|
};
|
||||||
|
|
||||||
]b4_token_ctor_if([b4_yytranslate_define
|
]b4_token_ctor_if([b4_yytranslate_define([$1])[
|
||||||
b4_public_types_define])[
|
]b4_public_types_define([$1])])[
|
||||||
]b4_namespace_close[
|
]b4_namespace_close[
|
||||||
|
|
||||||
]b4_percent_define_flag_if([[global_tokens_and_yystype]],
|
]b4_percent_define_flag_if([[global_tokens_and_yystype]],
|
||||||
@@ -386,7 +388,7 @@ b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++])
|
|||||||
// C++ LALR(1) parser skeleton written by Akim Demaille.
|
// C++ LALR(1) parser skeleton written by Akim Demaille.
|
||||||
|
|
||||||
]b4_cpp_guard_open([b4_spec_defines_file])[
|
]b4_cpp_guard_open([b4_spec_defines_file])[
|
||||||
]b4_shared_declarations[
|
]b4_shared_declarations(hh)[
|
||||||
]b4_cpp_guard_close([b4_spec_defines_file])
|
]b4_cpp_guard_close([b4_spec_defines_file])
|
||||||
b4_output_end()
|
b4_output_end()
|
||||||
])
|
])
|
||||||
@@ -406,7 +408,7 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
]b4_null_define[
|
]b4_null_define[
|
||||||
|
|
||||||
]b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]],
|
]b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]],
|
||||||
[b4_shared_declarations])[
|
[b4_shared_declarations([cc])])[
|
||||||
|
|
||||||
// User implementation prologue.
|
// User implementation prologue.
|
||||||
]b4_user_post_prologue[
|
]b4_user_post_prologue[
|
||||||
@@ -443,7 +445,7 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
{ \
|
{ \
|
||||||
*yycdebug_ << Title << ' '; \
|
*yycdebug_ << Title << ' '; \
|
||||||
yy_print_ (*yycdebug_, Symbol); \
|
yy_print_ (*yycdebug_, Symbol); \
|
||||||
*yycdebug_ << std::endl; \
|
*yycdebug_ << '\n'; \
|
||||||
} \
|
} \
|
||||||
} while (false)
|
} while (false)
|
||||||
|
|
||||||
@@ -462,9 +464,9 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
#else // !]b4_api_PREFIX[DEBUG
|
#else // !]b4_api_PREFIX[DEBUG
|
||||||
|
|
||||||
# define YYCDEBUG if (false) std::cerr
|
# define YYCDEBUG if (false) std::cerr
|
||||||
# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE(Symbol)
|
# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE (Symbol)
|
||||||
# define YY_REDUCE_PRINT(Rule) static_cast<void>(0)
|
# define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
|
||||||
# define YY_STACK_PRINT() static_cast<void>(0)
|
# define YY_STACK_PRINT() static_cast<void> (0)
|
||||||
|
|
||||||
#endif // !]b4_api_PREFIX[DEBUG
|
#endif // !]b4_api_PREFIX[DEBUG
|
||||||
|
|
||||||
@@ -533,27 +535,23 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
| Symbol types. |
|
| Symbol types. |
|
||||||
`---------------*/
|
`---------------*/
|
||||||
|
|
||||||
]b4_token_ctor_if([], [b4_public_types_define])[
|
]b4_token_ctor_if([], [b4_public_types_define([cc])])[
|
||||||
|
|
||||||
// by_state.
|
// by_state.
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::by_state::by_state ()
|
]b4_parser_class_name[::by_state::by_state ()
|
||||||
: state (empty_state)
|
: state (empty_state)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::by_state::by_state (const by_state& other)
|
]b4_parser_class_name[::by_state::by_state (const by_state& other)
|
||||||
: state (other.state)
|
: state (other.state)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::by_state::clear ()
|
]b4_parser_class_name[::by_state::clear ()
|
||||||
{
|
{
|
||||||
state = empty_state;
|
state = empty_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::by_state::move (by_state& that)
|
]b4_parser_class_name[::by_state::move (by_state& that)
|
||||||
{
|
{
|
||||||
@@ -561,12 +559,10 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
that.clear ();
|
that.clear ();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::by_state::by_state (state_type s)
|
]b4_parser_class_name[::by_state::by_state (state_type s)
|
||||||
: state (s)
|
: state (s)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::symbol_number_type
|
]b4_parser_class_name[::symbol_number_type
|
||||||
]b4_parser_class_name[::by_state::type_get () const
|
]b4_parser_class_name[::by_state::type_get () const
|
||||||
{
|
{
|
||||||
@@ -576,12 +572,17 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
return yystos_[state];
|
return yystos_[state];
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::stack_symbol_type::stack_symbol_type ()
|
]b4_parser_class_name[::stack_symbol_type::stack_symbol_type ()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
]b4_parser_class_name[::stack_symbol_type::stack_symbol_type (const stack_symbol_type& that)
|
||||||
|
: super_type (that.state]b4_locations_if([, that.location])[)
|
||||||
|
{
|
||||||
|
]b4_variant_if([b4_symbol_variant([that.type_get ()],
|
||||||
|
[value], [copy], [that.value])],
|
||||||
|
[[value = that.value;]])[
|
||||||
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::stack_symbol_type::stack_symbol_type (state_type s, symbol_type& that)
|
]b4_parser_class_name[::stack_symbol_type::stack_symbol_type (state_type s, symbol_type& that)
|
||||||
: super_type (s]b4_locations_if([, that.location])[)
|
: super_type (s]b4_locations_if([, that.location])[)
|
||||||
{
|
{
|
||||||
@@ -592,7 +593,6 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
that.type = empty_symbol;
|
that.type = empty_symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::stack_symbol_type&
|
]b4_parser_class_name[::stack_symbol_type&
|
||||||
]b4_parser_class_name[::stack_symbol_type::operator= (const stack_symbol_type& that)
|
]b4_parser_class_name[::stack_symbol_type::operator= (const stack_symbol_type& that)
|
||||||
{
|
{
|
||||||
@@ -606,7 +606,6 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
|
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const
|
]b4_parser_class_name[::yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const
|
||||||
{
|
{
|
||||||
@@ -638,7 +637,6 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::yypush_ (const char* m, state_type s, symbol_type& sym)
|
]b4_parser_class_name[::yypush_ (const char* m, state_type s, symbol_type& sym)
|
||||||
{
|
{
|
||||||
@@ -646,7 +644,6 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
yypush_ (m, t);
|
yypush_ (m, t);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::yypush_ (const char* m, stack_symbol_type& s)
|
]b4_parser_class_name[::yypush_ (const char* m, stack_symbol_type& s)
|
||||||
{
|
{
|
||||||
@@ -655,9 +652,8 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
yystack_.push (s);
|
yystack_.push (s);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::yypop_ (unsigned int n)
|
]b4_parser_class_name[::yypop_ (unsigned n)
|
||||||
{
|
{
|
||||||
yystack_.pop (n);
|
yystack_.pop (n);
|
||||||
}
|
}
|
||||||
@@ -689,7 +685,7 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
}
|
}
|
||||||
#endif // ]b4_api_PREFIX[DEBUG
|
#endif // ]b4_api_PREFIX[DEBUG
|
||||||
|
|
||||||
inline ]b4_parser_class_name[::state_type
|
]b4_parser_class_name[::state_type
|
||||||
]b4_parser_class_name[::yy_lr_goto_state_ (state_type yystate, int yysym)
|
]b4_parser_class_name[::yy_lr_goto_state_ (state_type yystate, int yysym)
|
||||||
{
|
{
|
||||||
int yyr = yypgoto_[yysym - yyntokens_] + yystate;
|
int yyr = yypgoto_[yysym - yyntokens_] + yystate;
|
||||||
@@ -699,13 +695,13 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
return yydefgoto_[yysym - yyntokens_];
|
return yydefgoto_[yysym - yyntokens_];
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool
|
bool
|
||||||
]b4_parser_class_name[::yy_pact_value_is_default_ (int yyvalue)
|
]b4_parser_class_name[::yy_pact_value_is_default_ (int yyvalue)
|
||||||
{
|
{
|
||||||
return yyvalue == yypact_ninf_;
|
return yyvalue == yypact_ninf_;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool
|
bool
|
||||||
]b4_parser_class_name[::yy_table_value_is_error_ (int yyvalue)
|
]b4_parser_class_name[::yy_table_value_is_error_ (int yyvalue)
|
||||||
{
|
{
|
||||||
return yyvalue == yytable_ninf_;
|
return yyvalue == yytable_ninf_;
|
||||||
@@ -736,7 +732,7 @@ m4_if(b4_prefix, [yy], [],
|
|||||||
// avoid gratuitous conflicts when merging into the master branch.
|
// avoid gratuitous conflicts when merging into the master branch.
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
YYCDEBUG << "Starting parse" << std::endl;
|
YYCDEBUG << "Starting parse\n";
|
||||||
|
|
||||||
]m4_ifdef([b4_initial_action], [
|
]m4_ifdef([b4_initial_action], [
|
||||||
b4_dollar_pushdef([yyla.value], [], [yyla.location])dnl
|
b4_dollar_pushdef([yyla.value], [], [yyla.location])dnl
|
||||||
@@ -753,7 +749,7 @@ b4_dollar_popdef])[]dnl
|
|||||||
|
|
||||||
// A new symbol was pushed on the stack.
|
// A new symbol was pushed on the stack.
|
||||||
yynewstate:
|
yynewstate:
|
||||||
YYCDEBUG << "Entering state " << yystack_[0].state << std::endl;
|
YYCDEBUG << "Entering state " << yystack_[0].state << '\n';
|
||||||
|
|
||||||
// Accept?
|
// Accept?
|
||||||
if (yystack_[0].state == yyfinal_)
|
if (yystack_[0].state == yyfinal_)
|
||||||
@@ -827,7 +823,7 @@ b4_dollar_popdef])[]dnl
|
|||||||
yylen = yyr2_[yyn];
|
yylen = yyr2_[yyn];
|
||||||
{
|
{
|
||||||
stack_symbol_type yylhs;
|
stack_symbol_type yylhs;
|
||||||
yylhs.state = yy_lr_goto_state_(yystack_[yylen].state, yyr1_[yyn]);]b4_variant_if([
|
yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);]b4_variant_if([
|
||||||
/* Variants are always initialized to an empty instance of the
|
/* Variants are always initialized to an empty instance of the
|
||||||
correct type. The default '$$ = $1' action is NOT applied
|
correct type. The default '$$ = $1' action is NOT applied
|
||||||
when using variants. */
|
when using variants. */
|
||||||
@@ -844,10 +840,11 @@ b4_dollar_popdef])[]dnl
|
|||||||
yylhs.value = yystack_@{0@}.value;])[
|
yylhs.value = yystack_@{0@}.value;])[
|
||||||
]b4_locations_if([dnl
|
]b4_locations_if([dnl
|
||||||
[
|
[
|
||||||
// Compute the default @@$.
|
// Default location.
|
||||||
{
|
{
|
||||||
slice<stack_symbol_type, stack_type> slice (yystack_, yylen);
|
slice<stack_symbol_type, stack_type> slice (yystack_, yylen);
|
||||||
YYLLOC_DEFAULT (yylhs.location, slice, yylen);
|
YYLLOC_DEFAULT (yylhs.location, slice, yylen);
|
||||||
|
yyerror_range[1].location = yylhs.location;
|
||||||
}]])[
|
}]])[
|
||||||
|
|
||||||
// Perform the reduction.
|
// Perform the reduction.
|
||||||
@@ -918,8 +915,7 @@ b4_dollar_popdef])[]dnl
|
|||||||
YYERROR and the label yyerrorlab therefore never appears in user
|
YYERROR and the label yyerrorlab therefore never appears in user
|
||||||
code. */
|
code. */
|
||||||
if (false)
|
if (false)
|
||||||
goto yyerrorlab;]b4_locations_if([[
|
goto yyerrorlab;
|
||||||
yyerror_range[1].location = yystack_[yylen - 1].location;]])[
|
|
||||||
/* Do not reclaim the symbols of the rule whose action triggered
|
/* Do not reclaim the symbols of the rule whose action triggered
|
||||||
this YYERROR. */
|
this YYERROR. */
|
||||||
yypop_ (yylen);
|
yypop_ (yylen);
|
||||||
@@ -993,8 +989,7 @@ b4_dollar_popdef])[]dnl
|
|||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
YYCDEBUG << "Exception caught: cleaning lookahead and stack"
|
YYCDEBUG << "Exception caught: cleaning lookahead and stack\n";
|
||||||
<< std::endl;
|
|
||||||
// Do not try to display the values of the reclaimed symbols,
|
// Do not try to display the values of the reclaimed symbols,
|
||||||
// as their printer might throw an exception.
|
// as their printer might throw an exception.
|
||||||
if (!yyla.empty ())
|
if (!yyla.empty ())
|
||||||
@@ -1013,7 +1008,7 @@ b4_dollar_popdef])[]dnl
|
|||||||
]b4_parser_class_name[::error (const syntax_error& yyexc)
|
]b4_parser_class_name[::error (const syntax_error& yyexc)
|
||||||
{
|
{
|
||||||
error (]b4_join(b4_locations_if([yyexc.location]),
|
error (]b4_join(b4_locations_if([yyexc.location]),
|
||||||
[[yyexc.what()]])[);
|
[[yyexc.what ()]])[);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate an error message.
|
// Generate an error message.
|
||||||
@@ -1091,12 +1086,13 @@ b4_error_verbose_if([state_type yystate, const symbol_type& yyla],
|
|||||||
case N: \
|
case N: \
|
||||||
yyformat = S; \
|
yyformat = S; \
|
||||||
break
|
break
|
||||||
YYCASE_(0, YY_("syntax error"));
|
default: // Avoid compiler warnings.
|
||||||
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
YYCASE_ (0, YY_("syntax error"));
|
||||||
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
YYCASE_ (1, YY_("syntax error, unexpected %s"));
|
||||||
YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
|
YYCASE_ (2, YY_("syntax error, unexpected %s, expecting %s"));
|
||||||
YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
|
YYCASE_ (3, YY_("syntax error, unexpected %s, expecting %s or %s"));
|
||||||
YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
|
YYCASE_ (4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
|
||||||
|
YYCASE_ (5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
|
||||||
#undef YYCASE_
|
#undef YYCASE_
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1144,18 +1140,18 @@ b4_error_verbose_if([state_type yystate, const symbol_type& yyla],
|
|||||||
i_end = yystack_.end ();
|
i_end = yystack_.end ();
|
||||||
i != i_end; ++i)
|
i != i_end; ++i)
|
||||||
*yycdebug_ << ' ' << i->state;
|
*yycdebug_ << ' ' << i->state;
|
||||||
*yycdebug_ << std::endl;
|
*yycdebug_ << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Report on the debug stream that the rule \a yyrule is going to be reduced.
|
// Report on the debug stream that the rule \a yyrule is going to be reduced.
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::yy_reduce_print_ (int yyrule)
|
]b4_parser_class_name[::yy_reduce_print_ (int yyrule)
|
||||||
{
|
{
|
||||||
unsigned int yylno = yyrline_[yyrule];
|
unsigned yylno = yyrline_[yyrule];
|
||||||
int yynrhs = yyr2_[yyrule];
|
int yynrhs = yyr2_[yyrule];
|
||||||
// Print the symbols being reduced, and their result.
|
// Print the symbols being reduced, and their result.
|
||||||
*yycdebug_ << "Reducing stack by rule " << yyrule - 1
|
*yycdebug_ << "Reducing stack by rule " << yyrule - 1
|
||||||
<< " (line " << yylno << "):" << std::endl;
|
<< " (line " << yylno << "):\n";
|
||||||
// The symbols being reduced.
|
// The symbols being reduced.
|
||||||
for (int yyi = 0; yyi < yynrhs; yyi++)
|
for (int yyi = 0; yyi < yynrhs; yyi++)
|
||||||
YY_SYMBOL_PRINT (" $" << yyi + 1 << " =",
|
YY_SYMBOL_PRINT (" $" << yyi + 1 << " =",
|
||||||
@@ -1163,7 +1159,7 @@ b4_error_verbose_if([state_type yystate, const symbol_type& yyla],
|
|||||||
}
|
}
|
||||||
#endif // ]b4_api_PREFIX[DEBUG
|
#endif // ]b4_api_PREFIX[DEBUG
|
||||||
|
|
||||||
]b4_token_ctor_if([], [b4_yytranslate_define])[
|
]b4_token_ctor_if([], [b4_yytranslate_define([cc])])[
|
||||||
]b4_namespace_close[
|
]b4_namespace_close[
|
||||||
]b4_epilogue[]dnl
|
]b4_epilogue[]dnl
|
||||||
b4_output_end()
|
b4_output_end()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Java skeleton for Bison -*- autoconf -*-
|
# Java skeleton for Bison -*- autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -84,7 +84,7 @@ m4_define([b4_define_state],[[
|
|||||||
|
|
||||||
b4_output_begin([b4_parser_file_name])
|
b4_output_begin([b4_parser_file_name])
|
||||||
b4_copyright([Skeleton implementation for Bison LALR(1) parsers in Java],
|
b4_copyright([Skeleton implementation for Bison LALR(1) parsers in Java],
|
||||||
[2007-2015])
|
[2007-2015, 2018])
|
||||||
|
|
||||||
b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);
|
b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);
|
||||||
])[/* First part of user declarations. */
|
])[/* First part of user declarations. */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
## Copyright (C) 2002, 2005-2015 Free Software Foundation, Inc.
|
## Copyright (C) 2002, 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
## This program is free software: you can redistribute it and/or modify
|
## This program is free software: you can redistribute it and/or modify
|
||||||
## it under the terms of the GNU General Public License as published by
|
## it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
m4_pushdef([b4_copyright_years],
|
m4_pushdef([b4_copyright_years],
|
||||||
[2002-2015])
|
[2002-2015, 2018])
|
||||||
|
|
||||||
# b4_position_define
|
# b4_position_define
|
||||||
# ------------------
|
# ------------------
|
||||||
@@ -28,19 +28,18 @@ m4_define([b4_position_define],
|
|||||||
public:]m4_ifdef([b4_location_constructors], [[
|
public:]m4_ifdef([b4_location_constructors], [[
|
||||||
/// Construct a position.
|
/// Construct a position.
|
||||||
explicit position (]b4_percent_define_get([[filename_type]])[* f = YY_NULLPTR,
|
explicit position (]b4_percent_define_get([[filename_type]])[* f = YY_NULLPTR,
|
||||||
unsigned int l = ]b4_location_initial_line[u,
|
unsigned l = ]b4_location_initial_line[u,
|
||||||
unsigned int c = ]b4_location_initial_column[u)
|
unsigned c = ]b4_location_initial_column[u)
|
||||||
: filename (f)
|
: filename (f)
|
||||||
, line (l)
|
, line (l)
|
||||||
, column (c)
|
, column (c)
|
||||||
{
|
{}
|
||||||
}
|
|
||||||
|
|
||||||
]])[
|
]])[
|
||||||
/// Initialization.
|
/// Initialization.
|
||||||
void initialize (]b4_percent_define_get([[filename_type]])[* fn = YY_NULLPTR,
|
void initialize (]b4_percent_define_get([[filename_type]])[* fn = YY_NULLPTR,
|
||||||
unsigned int l = ]b4_location_initial_line[u,
|
unsigned l = ]b4_location_initial_line[u,
|
||||||
unsigned int c = ]b4_location_initial_column[u)
|
unsigned c = ]b4_location_initial_column[u)
|
||||||
{
|
{
|
||||||
filename = fn;
|
filename = fn;
|
||||||
line = l;
|
line = l;
|
||||||
@@ -69,15 +68,15 @@ m4_define([b4_position_define],
|
|||||||
/// File name to which this position refers.
|
/// File name to which this position refers.
|
||||||
]b4_percent_define_get([[filename_type]])[* filename;
|
]b4_percent_define_get([[filename_type]])[* filename;
|
||||||
/// Current line number.
|
/// Current line number.
|
||||||
unsigned int line;
|
unsigned line;
|
||||||
/// Current column number.
|
/// Current column number.
|
||||||
unsigned int column;
|
unsigned column;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// Compute max(min, lhs+rhs) (provided min <= lhs).
|
/// Compute max(min, lhs+rhs) (provided min <= lhs).
|
||||||
static unsigned int add_ (unsigned int lhs, int rhs, unsigned int min)
|
static unsigned add_ (unsigned lhs, int rhs, unsigned min)
|
||||||
{
|
{
|
||||||
return (0 < rhs || -static_cast<unsigned int>(rhs) < lhs
|
return (0 < rhs || -static_cast<unsigned>(rhs) < lhs
|
||||||
? rhs + lhs
|
? rhs + lhs
|
||||||
: min);
|
: min);
|
||||||
}
|
}
|
||||||
@@ -157,30 +156,27 @@ m4_define([b4_location_define],
|
|||||||
location (const position& b, const position& e)
|
location (const position& b, const position& e)
|
||||||
: begin (b)
|
: begin (b)
|
||||||
, end (e)
|
, end (e)
|
||||||
{
|
{}
|
||||||
}
|
|
||||||
|
|
||||||
/// Construct a 0-width location in \a p.
|
/// Construct a 0-width location in \a p.
|
||||||
explicit location (const position& p = position ())
|
explicit location (const position& p = position ())
|
||||||
: begin (p)
|
: begin (p)
|
||||||
, end (p)
|
, end (p)
|
||||||
{
|
{}
|
||||||
}
|
|
||||||
|
|
||||||
/// Construct a 0-width location in \a f, \a l, \a c.
|
/// Construct a 0-width location in \a f, \a l, \a c.
|
||||||
explicit location (]b4_percent_define_get([[filename_type]])[* f,
|
explicit location (]b4_percent_define_get([[filename_type]])[* f,
|
||||||
unsigned int l = ]b4_location_initial_line[u,
|
unsigned l = ]b4_location_initial_line[u,
|
||||||
unsigned int c = ]b4_location_initial_column[u)
|
unsigned c = ]b4_location_initial_column[u)
|
||||||
: begin (f, l, c)
|
: begin (f, l, c)
|
||||||
, end (f, l, c)
|
, end (f, l, c)
|
||||||
{
|
{}
|
||||||
}
|
|
||||||
|
|
||||||
])[
|
])[
|
||||||
/// Initialization.
|
/// Initialization.
|
||||||
void initialize (]b4_percent_define_get([[filename_type]])[* f = YY_NULLPTR,
|
void initialize (]b4_percent_define_get([[filename_type]])[* f = YY_NULLPTR,
|
||||||
unsigned int l = ]b4_location_initial_line[u,
|
unsigned l = ]b4_location_initial_line[u,
|
||||||
unsigned int c = ]b4_location_initial_column[u)
|
unsigned c = ]b4_location_initial_column[u)
|
||||||
{
|
{
|
||||||
begin.initialize (f, l, c);
|
begin.initialize (f, l, c);
|
||||||
end = begin;
|
end = begin;
|
||||||
@@ -278,7 +274,7 @@ m4_define([b4_location_define],
|
|||||||
inline std::basic_ostream<YYChar>&
|
inline std::basic_ostream<YYChar>&
|
||||||
operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
|
operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
|
||||||
{
|
{
|
||||||
unsigned int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0;
|
unsigned end_col = 0 < loc.end.column ? loc.end.column - 1 : 0;
|
||||||
ostr << loc.begin;
|
ostr << loc.begin;
|
||||||
if (loc.end.filename
|
if (loc.end.filename
|
||||||
&& (!loc.begin.filename
|
&& (!loc.begin.filename
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -16,12 +16,13 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
m4_pushdef([b4_copyright_years],
|
m4_pushdef([b4_copyright_years],
|
||||||
[2002-2015])
|
[2002-2015, 2018])
|
||||||
|
|
||||||
# b4_stack_define
|
# b4_stack_define
|
||||||
# ---------------
|
# ---------------
|
||||||
m4_define([b4_stack_define],
|
m4_define([b4_stack_define],
|
||||||
[[ template <class T, class S = std::vector<T> >
|
[[ /// A stack with random access from its top.
|
||||||
|
template <class T, class S = std::vector<T> >
|
||||||
class stack
|
class stack
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -35,20 +36,24 @@ m4_define([b4_stack_define],
|
|||||||
seq_.reserve (200);
|
seq_.reserve (200);
|
||||||
}
|
}
|
||||||
|
|
||||||
stack (unsigned int n)
|
stack (unsigned n)
|
||||||
: seq_ (n)
|
: seq_ (n)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
/// Random access.
|
||||||
|
///
|
||||||
|
/// Index 0 returns the topmost element.
|
||||||
T&
|
T&
|
||||||
operator[] (unsigned int i)
|
operator[] (unsigned i)
|
||||||
{
|
{
|
||||||
return seq_[seq_.size () - 1 - i];
|
return seq_[seq_.size () - 1 - i];
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
/// Random access.
|
||||||
|
///
|
||||||
|
/// Index 0 returns the topmost element.
|
||||||
const T&
|
const T&
|
||||||
operator[] (unsigned int i) const
|
operator[] (unsigned i) const
|
||||||
{
|
{
|
||||||
return seq_[seq_.size () - 1 - i];
|
return seq_[seq_.size () - 1 - i];
|
||||||
}
|
}
|
||||||
@@ -56,7 +61,6 @@ m4_define([b4_stack_define],
|
|||||||
/// Steal the contents of \a t.
|
/// Steal the contents of \a t.
|
||||||
///
|
///
|
||||||
/// Close to move-semantics.
|
/// Close to move-semantics.
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
push (T& t)
|
push (T& t)
|
||||||
{
|
{
|
||||||
@@ -64,9 +68,8 @@ m4_define([b4_stack_define],
|
|||||||
operator[](0).move (t);
|
operator[](0).move (t);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
pop (unsigned int n = 1)
|
pop (unsigned n = 1)
|
||||||
{
|
{
|
||||||
for (; n; --n)
|
for (; n; --n)
|
||||||
seq_.pop_back ();
|
seq_.pop_back ();
|
||||||
@@ -78,21 +81,18 @@ m4_define([b4_stack_define],
|
|||||||
seq_.clear ();
|
seq_.clear ();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
typename S::size_type
|
typename S::size_type
|
||||||
size () const
|
size () const
|
||||||
{
|
{
|
||||||
return seq_.size ();
|
return seq_.size ();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
const_iterator
|
const_iterator
|
||||||
begin () const
|
begin () const
|
||||||
{
|
{
|
||||||
return seq_.rbegin ();
|
return seq_.rbegin ();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
const_iterator
|
const_iterator
|
||||||
end () const
|
end () const
|
||||||
{
|
{
|
||||||
@@ -111,21 +111,20 @@ m4_define([b4_stack_define],
|
|||||||
class slice
|
class slice
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
slice (const S& stack, unsigned int range)
|
slice (const S& stack, unsigned range)
|
||||||
: stack_ (stack)
|
: stack_ (stack)
|
||||||
, range_ (range)
|
, range_ (range)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
|
||||||
const T&
|
const T&
|
||||||
operator [] (unsigned int i) const
|
operator [] (unsigned i) const
|
||||||
{
|
{
|
||||||
return stack_[range_ - i];
|
return stack_[range_ - i];
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const S& stack_;
|
const S& stack_;
|
||||||
unsigned int range_;
|
unsigned range_;
|
||||||
};
|
};
|
||||||
]])
|
]])
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
m4_define([b4_symbol_variant],
|
m4_define([b4_symbol_variant],
|
||||||
[m4_pushdef([b4_dollar_dollar],
|
[m4_pushdef([b4_dollar_dollar],
|
||||||
[$2.$3< $][3 > (m4_shift3($@))])dnl
|
[$2.$3< $][3 > (m4_shift3($@))])dnl
|
||||||
switch ($1)
|
switch ($1)
|
||||||
{
|
{
|
||||||
b4_type_foreach([b4_type_action_])[]dnl
|
b4_type_foreach([b4_type_action_])[]dnl
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<!--
|
<!--
|
||||||
bison.xsl - common templates for Bison XSLT.
|
bison.xsl - common templates for Bison XSLT.
|
||||||
|
|
||||||
Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<!--
|
<!--
|
||||||
xml2dot.xsl - transform Bison XML Report into DOT.
|
xml2dot.xsl - transform Bison XML Report into DOT.
|
||||||
|
|
||||||
Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<!--
|
<!--
|
||||||
xml2text.xsl - transform Bison XML Report into plain text.
|
xml2text.xsl - transform Bison XML Report into plain text.
|
||||||
|
|
||||||
Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<!--
|
<!--
|
||||||
xml2html.xsl - transform Bison XML Report into XHTML.
|
xml2html.xsl - transform Bison XML Report into XHTML.
|
||||||
|
|
||||||
Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
15
data/yacc.c
15
data/yacc.c
@@ -1,11 +1,11 @@
|
|||||||
-*- C -*-
|
-*- C -*-
|
||||||
# Yacc compatible skeleton for Bison
|
# Yacc compatible skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation,
|
# Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software
|
||||||
# Inc.
|
# Foundation, Inc.
|
||||||
|
|
||||||
m4_pushdef([b4_copyright_years],
|
m4_pushdef([b4_copyright_years],
|
||||||
[1984, 1989-1990, 2000-2015])
|
[1984, 1989-1990, 2000-2015, 2018])
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -1207,6 +1207,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
|||||||
case N: \
|
case N: \
|
||||||
yyformat = S; \
|
yyformat = S; \
|
||||||
break
|
break
|
||||||
|
default: /* Avoid compiler warnings. */
|
||||||
YYCASE_(0, YY_("syntax error"));
|
YYCASE_(0, YY_("syntax error"));
|
||||||
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
||||||
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
||||||
@@ -1641,8 +1642,9 @@ yyreduce:
|
|||||||
yyval = yyvsp[1-yylen];
|
yyval = yyvsp[1-yylen];
|
||||||
|
|
||||||
]b4_locations_if(
|
]b4_locations_if(
|
||||||
[[ /* Default location. */
|
[[ /* Default location. */
|
||||||
YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);]])[
|
YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
|
||||||
|
yyerror_range[1] = yyloc;]])[
|
||||||
YY_REDUCE_PRINT (yyn);]b4_lac_if([[
|
YY_REDUCE_PRINT (yyn);]b4_lac_if([[
|
||||||
{
|
{
|
||||||
int yychar_backup = yychar;
|
int yychar_backup = yychar;
|
||||||
@@ -1782,8 +1784,7 @@ yyerrorlab:
|
|||||||
if (/*CONSTCOND*/ 0)
|
if (/*CONSTCOND*/ 0)
|
||||||
goto yyerrorlab;
|
goto yyerrorlab;
|
||||||
|
|
||||||
]b4_locations_if([[ yyerror_range[1] = yylsp[1-yylen];
|
/* Do not reclaim the symbols of the rule whose action triggered
|
||||||
]])[ /* Do not reclaim the symbols of the rule whose action triggered
|
|
||||||
this YYERROR. */
|
this YYERROR. */
|
||||||
YYPOPSTACK (yylen);
|
YYPOPSTACK (yylen);
|
||||||
yylen = 0;
|
yylen = 0;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# DJGPP Maintainer's Makefile -*-Makefile-*-
|
# DJGPP Maintainer's Makefile -*-Makefile-*-
|
||||||
# Requires GNU sed
|
# Requires GNU sed
|
||||||
|
|
||||||
## Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
## Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
This is a port of GNU Bison @VERSION@ to MSDOS/DJGPP.
|
This is a port of GNU Bison @VERSION@ to MSDOS/DJGPP.
|
||||||
|
|
||||||
Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Rem Configure Bison for DJGPP.
|
|||||||
Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line
|
Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line
|
||||||
Rem format, or else stock DOS/Windows shells will refuse to run it.
|
Rem format, or else stock DOS/Windows shells will refuse to run it.
|
||||||
|
|
||||||
Rem Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
Rem Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
Rem This program is free software: you can redistribute it and/or modify
|
Rem This program is free software: you can redistribute it and/or modify
|
||||||
Rem it under the terms of the GNU General Public License as published by
|
Rem it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# Sed script for additional DJGPP specific editing
|
# Sed script for additional DJGPP specific editing
|
||||||
# of the configure script generated by autoconf 2.62.
|
# of the configure script generated by autoconf 2.62.
|
||||||
|
|
||||||
# Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# This is the config.site file for configuring GNU packages
|
# This is the config.site file for configuring GNU packages
|
||||||
# which are to be built with DJGPP tools.
|
# which are to be built with DJGPP tools.
|
||||||
|
|
||||||
# Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sed script for DJGPP specific editing of config.hin
|
# sed script for DJGPP specific editing of config.hin
|
||||||
|
|
||||||
# Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Rem This batch file unpacks the Bison distribution while simultaneously
|
|||||||
Rem renaming some of the files whose names are invalid on DOS or conflict
|
Rem renaming some of the files whose names are invalid on DOS or conflict
|
||||||
Rem with other file names after truncation to DOS 8+3 namespace.
|
Rem with other file names after truncation to DOS 8+3 namespace.
|
||||||
Rem
|
Rem
|
||||||
Rem Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
Rem Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
Rem
|
Rem
|
||||||
Rem This program is free software: you can redistribute it and/or modify
|
Rem This program is free software: you can redistribute it and/or modify
|
||||||
Rem it under the terms of the GNU General Public License as published by
|
Rem it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
## Copyright (C) 2008-2015 Free Software Foundation, Inc.
|
## Copyright (C) 2008-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
## This program is free software: you can redistribute it and/or modify
|
## This program is free software: you can redistribute it and/or modify
|
||||||
## it under the terms of the GNU General Public License as published by
|
## it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Subprocesses with pipes.
|
/* Subprocesses with pipes.
|
||||||
|
|
||||||
Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Subprocesses with pipes.
|
/* Subprocesses with pipes.
|
||||||
|
|
||||||
Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# Sed script for additional DJGPP specific editing
|
# Sed script for additional DJGPP specific editing
|
||||||
# of the testsuite script generated by autoconf 2.61.
|
# of the testsuite script generated by autoconf 2.61.
|
||||||
|
|
||||||
# Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
This manual (@value{UPDATED}) is for GNU Bison (version
|
This manual (@value{UPDATED}) is for GNU Bison (version
|
||||||
@value{VERSION}), the GNU parser generator.
|
@value{VERSION}), the GNU parser generator.
|
||||||
|
|
||||||
Copyright @copyright{} 1988-1993, 1995, 1998-2015 Free Software
|
Copyright @copyright{} 1988-1993, 1995, 1998-2015, 2018 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
@quotation
|
@quotation
|
||||||
@@ -143,7 +143,7 @@ Writing GLR Parsers
|
|||||||
|
|
||||||
Examples
|
Examples
|
||||||
|
|
||||||
* RPN Calc:: Reverse polish notation calculator;
|
* RPN Calc:: Reverse Polish Notation Calculator;
|
||||||
a first example with no operator precedence.
|
a first example with no operator precedence.
|
||||||
* Infix Calc:: Infix (algebraic) notation calculator.
|
* Infix Calc:: Infix (algebraic) notation calculator.
|
||||||
Operator precedence is introduced.
|
Operator precedence is introduced.
|
||||||
@@ -1493,7 +1493,7 @@ simple program, all the rest of the program can go here.
|
|||||||
@cindex examples, simple
|
@cindex examples, simple
|
||||||
|
|
||||||
Now we show and explain several sample programs written using Bison: a
|
Now we show and explain several sample programs written using Bison: a
|
||||||
reverse polish notation calculator, an algebraic (infix) notation
|
Reverse Polish Notation calculator, an algebraic (infix) notation
|
||||||
calculator --- later extended to track ``locations'' ---
|
calculator --- later extended to track ``locations'' ---
|
||||||
and a multi-function calculator. All
|
and a multi-function calculator. All
|
||||||
produce usable, though limited, interactive desk-top calculators.
|
produce usable, though limited, interactive desk-top calculators.
|
||||||
@@ -1503,7 +1503,7 @@ languages are written the same way. You can copy these examples into a
|
|||||||
source file to try them.
|
source file to try them.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* RPN Calc:: Reverse polish notation calculator;
|
* RPN Calc:: Reverse Polish Notation Calculator;
|
||||||
a first example with no operator precedence.
|
a first example with no operator precedence.
|
||||||
* Infix Calc:: Infix (algebraic) notation calculator.
|
* Infix Calc:: Infix (algebraic) notation calculator.
|
||||||
Operator precedence is introduced.
|
Operator precedence is introduced.
|
||||||
@@ -1516,13 +1516,12 @@ source file to try them.
|
|||||||
|
|
||||||
@node RPN Calc
|
@node RPN Calc
|
||||||
@section Reverse Polish Notation Calculator
|
@section Reverse Polish Notation Calculator
|
||||||
@cindex reverse polish notation
|
@cindex Reverse Polish Notation
|
||||||
@cindex polish notation calculator
|
|
||||||
@cindex @code{rpcalc}
|
@cindex @code{rpcalc}
|
||||||
@cindex calculator, simple
|
@cindex calculator, simple
|
||||||
|
|
||||||
The first example is that of a simple double-precision @dfn{reverse polish
|
The first example is that of a simple double-precision @dfn{Reverse Polish
|
||||||
notation} calculator (a calculator using postfix operators). This example
|
Notation} calculator (a calculator using postfix operators). This example
|
||||||
provides a good starting point, since operator precedence is not an issue.
|
provides a good starting point, since operator precedence is not an issue.
|
||||||
The second example will illustrate how operator precedence is handled.
|
The second example will illustrate how operator precedence is handled.
|
||||||
|
|
||||||
@@ -1542,12 +1541,12 @@ The source code for this calculator is named @file{rpcalc.y}. The
|
|||||||
@node Rpcalc Declarations
|
@node Rpcalc Declarations
|
||||||
@subsection Declarations for @code{rpcalc}
|
@subsection Declarations for @code{rpcalc}
|
||||||
|
|
||||||
Here are the C and Bison declarations for the reverse polish notation
|
Here are the C and Bison declarations for the Reverse Polish Notation
|
||||||
calculator. As in C, comments are placed between @samp{/*@dots{}*/}.
|
calculator. As in C, comments are placed between @samp{/*@dots{}*/}.
|
||||||
|
|
||||||
@comment file: rpcalc.y
|
@comment file: rpcalc.y
|
||||||
@example
|
@example
|
||||||
/* Reverse polish notation calculator. */
|
/* Reverse Polish Notation calculator. */
|
||||||
|
|
||||||
@group
|
@group
|
||||||
%@{
|
%@{
|
||||||
@@ -1598,7 +1597,7 @@ declared is @code{NUM}, the token type for numeric constants.
|
|||||||
@node Rpcalc Rules
|
@node Rpcalc Rules
|
||||||
@subsection Grammar Rules for @code{rpcalc}
|
@subsection Grammar Rules for @code{rpcalc}
|
||||||
|
|
||||||
Here are the grammar rules for the reverse polish notation calculator.
|
Here are the grammar rules for the Reverse Polish Notation calculator.
|
||||||
|
|
||||||
@comment file: rpcalc.y
|
@comment file: rpcalc.y
|
||||||
@example
|
@example
|
||||||
@@ -8933,7 +8932,7 @@ clear the flag.
|
|||||||
|
|
||||||
Developing a parser can be a challenge, especially if you don't understand
|
Developing a parser can be a challenge, especially if you don't understand
|
||||||
the algorithm (@pxref{Algorithm, ,The Bison Parser Algorithm}). This
|
the algorithm (@pxref{Algorithm, ,The Bison Parser Algorithm}). This
|
||||||
chapter explains how understand and debug a parser.
|
chapter explains how to understand and debug a parser.
|
||||||
|
|
||||||
The first sections focus on the static part of the parser: its structure.
|
The first sections focus on the static part of the parser: its structure.
|
||||||
They explain how to generate and read the detailed description of the
|
They explain how to generate and read the detailed description of the
|
||||||
@@ -10901,12 +10900,12 @@ Regular union-based code in Lex scanner typically look like:
|
|||||||
|
|
||||||
@example
|
@example
|
||||||
[0-9]+ @{
|
[0-9]+ @{
|
||||||
yylval.ival = text_to_int (yytext);
|
yylval->ival = text_to_int (yytext);
|
||||||
return yy::parser::INTEGER;
|
return yy::parser::token::INTEGER;
|
||||||
@}
|
@}
|
||||||
[a-z]+ @{
|
[a-z]+ @{
|
||||||
yylval.sval = new std::string (yytext);
|
yylval->sval = new std::string (yytext);
|
||||||
return yy::parser::IDENTIFIER;
|
return yy::parser::token::IDENTIFIER;
|
||||||
@}
|
@}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@@ -10915,12 +10914,12 @@ initialized. So the code would look like:
|
|||||||
|
|
||||||
@example
|
@example
|
||||||
[0-9]+ @{
|
[0-9]+ @{
|
||||||
yylval.build<int>() = text_to_int (yytext);
|
yylval->build<int> () = text_to_int (yytext);
|
||||||
return yy::parser::INTEGER;
|
return yy::parser::token::INTEGER;
|
||||||
@}
|
@}
|
||||||
[a-z]+ @{
|
[a-z]+ @{
|
||||||
yylval.build<std::string> = yytext;
|
yylval->build<std::string> () = yytext;
|
||||||
return yy::parser::IDENTIFIER;
|
return yy::parser::token::IDENTIFIER;
|
||||||
@}
|
@}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@@ -10929,12 +10928,12 @@ or
|
|||||||
|
|
||||||
@example
|
@example
|
||||||
[0-9]+ @{
|
[0-9]+ @{
|
||||||
yylval.build(text_to_int (yytext));
|
yylval->build (text_to_int (yytext));
|
||||||
return yy::parser::INTEGER;
|
return yy::parser::token::INTEGER;
|
||||||
@}
|
@}
|
||||||
[a-z]+ @{
|
[a-z]+ @{
|
||||||
yylval.build(yytext);
|
yylval->build (yytext);
|
||||||
return yy::parser::IDENTIFIER;
|
return yy::parser::token::IDENTIFIER;
|
||||||
@}
|
@}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@@ -10962,8 +10961,8 @@ it is still possible to give an integer as semantic value for a string.
|
|||||||
|
|
||||||
So for each token type, Bison generates named constructors as follows.
|
So for each token type, Bison generates named constructors as follows.
|
||||||
|
|
||||||
@deftypemethod {symbol_type} {} make_@var{token} (const @var{value_type}& @var{value}, const location_type& @var{location})
|
@deftypemethod {symbol_type} {} {make_@var{token}} (const @var{value_type}& @var{value}, const location_type& @var{location})
|
||||||
@deftypemethodx {symbol_type} {} make_@var{token} (const location_type& @var{location})
|
@deftypemethodx {symbol_type} {} {make_@var{token}} (const location_type& @var{location})
|
||||||
Build a complete terminal symbol for the token type @var{token} (not
|
Build a complete terminal symbol for the token type @var{token} (not
|
||||||
including the @code{api.token.prefix}) whose possible semantic value is
|
including the @code{api.token.prefix}) whose possible semantic value is
|
||||||
@var{value} of adequate @var{value_type}. If location tracking is enabled,
|
@var{value} of adequate @var{value_type}. If location tracking is enabled,
|
||||||
@@ -10983,20 +10982,18 @@ For instance, given the following declarations:
|
|||||||
Bison generates the following functions:
|
Bison generates the following functions:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
symbol_type make_IDENTIFIER(const std::string& v,
|
symbol_type make_IDENTIFIER (const std::string&, const location_type&);
|
||||||
const location_type& l);
|
symbol_type make_INTEGER (const int&, const location_type&);
|
||||||
symbol_type make_INTEGER(const int& v,
|
symbol_type make_COLON (const location_type&);
|
||||||
const location_type& loc);
|
|
||||||
symbol_type make_COLON(const location_type& loc);
|
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
which should be used in a Lex-scanner as follows.
|
which should be used in a Lex-scanner as follows.
|
||||||
|
|
||||||
@example
|
@example
|
||||||
[0-9]+ return yy::parser::make_INTEGER(text_to_int (yytext), loc);
|
[0-9]+ return yy::parser::make_INTEGER (text_to_int (yytext), loc);
|
||||||
[a-z]+ return yy::parser::make_IDENTIFIER(yytext, loc);
|
[a-z]+ return yy::parser::make_IDENTIFIER (yytext, loc);
|
||||||
":" return yy::parser::make_COLON(loc);
|
":" return yy::parser::make_COLON (loc);
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Tokens that do not have an identifier are not accessible: you cannot simply
|
Tokens that do not have an identifier are not accessible: you cannot simply
|
||||||
@@ -11177,13 +11174,13 @@ calcxx_driver::parse (const std::string &f)
|
|||||||
void
|
void
|
||||||
calcxx_driver::error (const yy::location& l, const std::string& m)
|
calcxx_driver::error (const yy::location& l, const std::string& m)
|
||||||
@{
|
@{
|
||||||
std::cerr << l << ": " << m << std::endl;
|
std::cerr << l << ": " << m << '\n';
|
||||||
@}
|
@}
|
||||||
|
|
||||||
void
|
void
|
||||||
calcxx_driver::error (const std::string& m)
|
calcxx_driver::error (const std::string& m)
|
||||||
@{
|
@{
|
||||||
std::cerr << m << std::endl;
|
std::cerr << m << '\n';
|
||||||
@}
|
@}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@@ -11461,13 +11458,13 @@ The rules are simple. The driver is used to report errors.
|
|||||||
|
|
||||||
@comment file: calc++-scanner.ll
|
@comment file: calc++-scanner.ll
|
||||||
@example
|
@example
|
||||||
"-" return yy::calcxx_parser::make_MINUS(loc);
|
"-" return yy::calcxx_parser::make_MINUS (loc);
|
||||||
"+" return yy::calcxx_parser::make_PLUS(loc);
|
"+" return yy::calcxx_parser::make_PLUS (loc);
|
||||||
"*" return yy::calcxx_parser::make_STAR(loc);
|
"*" return yy::calcxx_parser::make_STAR (loc);
|
||||||
"/" return yy::calcxx_parser::make_SLASH(loc);
|
"/" return yy::calcxx_parser::make_SLASH (loc);
|
||||||
"(" return yy::calcxx_parser::make_LPAREN(loc);
|
"(" return yy::calcxx_parser::make_LPAREN (loc);
|
||||||
")" return yy::calcxx_parser::make_RPAREN(loc);
|
")" return yy::calcxx_parser::make_RPAREN (loc);
|
||||||
":=" return yy::calcxx_parser::make_ASSIGN(loc);
|
":=" return yy::calcxx_parser::make_ASSIGN (loc);
|
||||||
|
|
||||||
@group
|
@group
|
||||||
@{int@} @{
|
@{int@} @{
|
||||||
@@ -11475,12 +11472,12 @@ The rules are simple. The driver is used to report errors.
|
|||||||
long n = strtol (yytext, NULL, 10);
|
long n = strtol (yytext, NULL, 10);
|
||||||
if (! (INT_MIN <= n && n <= INT_MAX && errno != ERANGE))
|
if (! (INT_MIN <= n && n <= INT_MAX && errno != ERANGE))
|
||||||
driver.error (loc, "integer is out of range");
|
driver.error (loc, "integer is out of range");
|
||||||
return yy::calcxx_parser::make_NUMBER(n, loc);
|
return yy::calcxx_parser::make_NUMBER (n, loc);
|
||||||
@}
|
@}
|
||||||
@end group
|
@end group
|
||||||
@{id@} return yy::calcxx_parser::make_IDENTIFIER(yytext, loc);
|
@{id@} return yy::calcxx_parser::make_IDENTIFIER (yytext, loc);
|
||||||
. driver.error (loc, "invalid character");
|
. driver.error (loc, "invalid character");
|
||||||
<<EOF>> return yy::calcxx_parser::make_END(loc);
|
<<EOF>> return yy::calcxx_parser::make_END (loc);
|
||||||
%%
|
%%
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@@ -11536,7 +11533,7 @@ main (int argc, char *argv[])
|
|||||||
else if (argv[i] == std::string ("-s"))
|
else if (argv[i] == std::string ("-s"))
|
||||||
driver.trace_scanning = true;
|
driver.trace_scanning = true;
|
||||||
else if (!driver.parse (argv[i]))
|
else if (!driver.parse (argv[i]))
|
||||||
std::cout << driver.result << std::endl;
|
std::cout << driver.result << '\n';
|
||||||
else
|
else
|
||||||
res = 1;
|
res = 1;
|
||||||
return res;
|
return res;
|
||||||
@@ -12543,7 +12540,7 @@ is turned on by default. If you have problems building in the @file{po}
|
|||||||
subdirectory, it indicates that your system's internationalization
|
subdirectory, it indicates that your system's internationalization
|
||||||
support is lacking. You can re-configure Bison with
|
support is lacking. You can re-configure Bison with
|
||||||
@option{--disable-nls} to turn off this support, or you can install GNU
|
@option{--disable-nls} to turn off this support, or you can install GNU
|
||||||
gettext from @url{ftp://ftp.gnu.org/gnu/gettext/} and re-configure
|
gettext from @url{https://ftp.gnu.org/gnu/gettext/} and re-configure
|
||||||
Bison. See the file @file{ABOUT-NLS} for more information.
|
Bison. See the file @file{ABOUT-NLS} for more information.
|
||||||
|
|
||||||
|
|
||||||
@@ -12572,7 +12569,7 @@ I found a bug. What should I include in the bug report?
|
|||||||
@end quotation
|
@end quotation
|
||||||
|
|
||||||
Before you send a bug report, make sure you are using the latest
|
Before you send a bug report, make sure you are using the latest
|
||||||
version. Check @url{ftp://ftp.gnu.org/pub/gnu/bison/} or one of its
|
version. Check @url{https://ftp.gnu.org/pub/gnu/bison/} or one of its
|
||||||
mirrors. Be sure to include the version number in your bug report. If
|
mirrors. Be sure to include the version number in your bug report. If
|
||||||
the bug is present in the latest version but not in a previous version,
|
the bug is present in the latest version but not in a previous version,
|
||||||
try to determine the most recent version which did not contain the bug.
|
try to determine the most recent version which did not contain the bug.
|
||||||
@@ -13348,7 +13345,7 @@ A reentrant subprogram is a subprogram which can be in invoked any
|
|||||||
number of times in parallel, without interference between the various
|
number of times in parallel, without interference between the various
|
||||||
invocations. @xref{Pure Decl, ,A Pure (Reentrant) Parser}.
|
invocations. @xref{Pure Decl, ,A Pure (Reentrant) Parser}.
|
||||||
|
|
||||||
@item Reverse polish notation
|
@item Reverse Polish Notation
|
||||||
A language in which all operators are postfix operators.
|
A language in which all operators are postfix operators.
|
||||||
|
|
||||||
@item Right recursion
|
@item Right recursion
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
## Copyright (C) 2001-2003, 2005-2015 Free Software Foundation, Inc.
|
## Copyright (C) 2001-2003, 2005-2015, 2018 Free Software Foundation,
|
||||||
|
## Inc.
|
||||||
|
|
||||||
## This program is free software: you can redistribute it and/or modify
|
## This program is free software: you can redistribute it and/or modify
|
||||||
## it under the terms of the GNU General Public License as published by
|
## it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -19,7 +19,8 @@
|
|||||||
\def\finalout{\overfullrule=0pt}
|
\def\finalout{\overfullrule=0pt}
|
||||||
%\finalout
|
%\finalout
|
||||||
|
|
||||||
% Copyright (c) 1998, 2001, 2009-2015 Free Software Foundation, Inc.
|
% Copyright (c) 1998, 2001, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
% Inc.
|
||||||
%
|
%
|
||||||
% This file is part of Bison.
|
% This file is part of Bison.
|
||||||
%
|
%
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ straightforward use of _build/src/bison would.)
|
|||||||
|
|
||||||
--
|
--
|
||||||
|
|
||||||
Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2006, 2009-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#! /usr/bin/perl -w
|
#! /usr/bin/perl -w
|
||||||
|
|
||||||
# Copyright (C) 2006, 2008-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2006, 2008-2015, 2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of Bison, the GNU Compiler Compiler.
|
# This file is part of Bison, the GNU Compiler Compiler.
|
||||||
#
|
#
|
||||||
@@ -738,7 +738,7 @@ yy::parser::token_type yylex(yy::parser::semantic_type* yylvalp,
|
|||||||
void
|
void
|
||||||
yy::parser::error(const yy::parser::location_type& loc, const std::string& msg)
|
yy::parser::error(const yy::parser::location_type& loc, const std::string& msg)
|
||||||
{
|
{
|
||||||
std::cerr << loc << ": " << msg << std::endl;
|
std::cerr << loc << ": " << msg << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
## Copyright (C) 2006, 2008-2015 Free Software Foundation, Inc.
|
## Copyright (C) 2006, 2008-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
## This program is free software: you can redistribute it and/or modify
|
## This program is free software: you can redistribute it and/or modify
|
||||||
## it under the terms of the GNU General Public License as published by
|
## it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
# Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Copyright (C) 2005-2006, 2008-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2005-2006, 2008-2015, 2018 Free Software Foundation,
|
||||||
|
# Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
# This file is part of GNU Bison
|
# This file is part of GNU Bison
|
||||||
|
|
||||||
# Copyright (C) 1992, 2000-2001, 2005-2006, 2009-2015 Free Software
|
# Copyright (C) 1992, 2000-2001, 2005-2006, 2009-2015, 2018 Free
|
||||||
# Foundation, Inc.
|
# Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2005, 2008-2015, 2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Copyright (C) 2005-2006, 2008-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2005-2006, 2008-2015, 2018 Free Software Foundation,
|
||||||
|
# Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
# Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Copyright (C) 2005-2006, 2008-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2005-2006, 2008-2015, 2018 Free Software Foundation,
|
||||||
|
# Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
# Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
# Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (C) 2008-2015 Free Software Foundation, Inc.
|
Copyright (C) 2008-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -25,9 +25,9 @@
|
|||||||
|
|
||||||
%code requires // *.hh
|
%code requires // *.hh
|
||||||
{
|
{
|
||||||
#include <list>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
typedef std::list<std::string> strings_type;
|
#include <vector>
|
||||||
|
typedef std::vector<std::string> strings_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
%code // *.cc
|
%code // *.cc
|
||||||
@@ -43,14 +43,14 @@ typedef std::list<std::string> strings_type;
|
|||||||
static parser::symbol_type yylex ();
|
static parser::symbol_type yylex ();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Printing a list of strings.
|
// Printing a vector of strings.
|
||||||
// Koening look up will look into std, since that's an std::list.
|
// Koening look up will look into std, since that's an std::vector.
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
std::ostream&
|
std::ostream&
|
||||||
operator<< (std::ostream& o, const strings_type& ss)
|
operator<< (std::ostream& o, const strings_type& ss)
|
||||||
{
|
{
|
||||||
o << "(" << &ss << ") {";
|
o << '(' << &ss << ") {";
|
||||||
const char *sep = "";
|
const char *sep = "";
|
||||||
for (strings_type::const_iterator i = ss.begin(), end = ss.end();
|
for (strings_type::const_iterator i = ss.begin(), end = ss.end();
|
||||||
i != end; ++i)
|
i != end; ++i)
|
||||||
@@ -58,13 +58,12 @@ typedef std::list<std::string> strings_type;
|
|||||||
o << sep << *i;
|
o << sep << *i;
|
||||||
sep = ", ";
|
sep = ", ";
|
||||||
}
|
}
|
||||||
return o << "}";
|
return o << '}';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Conversion to string.
|
// Conversion to string.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
inline
|
|
||||||
std::string
|
std::string
|
||||||
string_cast (const T& t)
|
string_cast (const T& t)
|
||||||
{
|
{
|
||||||
@@ -80,12 +79,12 @@ typedef std::list<std::string> strings_type;
|
|||||||
%token END_OF_FILE 0;
|
%token END_OF_FILE 0;
|
||||||
|
|
||||||
%type <::std::string> item;
|
%type <::std::string> item;
|
||||||
%type <::std::list<std::string>> list;
|
%type <::std::vector<std::string>> list;
|
||||||
|
|
||||||
%%
|
%%
|
||||||
|
|
||||||
result:
|
result:
|
||||||
list { std::cout << $1 << std::endl; }
|
list { std::cout << $1 << '\n'; }
|
||||||
;
|
;
|
||||||
|
|
||||||
list:
|
list:
|
||||||
@@ -135,7 +134,7 @@ namespace yy
|
|||||||
void
|
void
|
||||||
parser::error (const parser::location_type& loc, const std::string& msg)
|
parser::error (const parser::location_type& loc, const std::string& msg)
|
||||||
{
|
{
|
||||||
std::cerr << loc << ": " << msg << std::endl;
|
std::cerr << loc << ": " << msg << '\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
gnulib
2
gnulib
Submodule gnulib updated: ea6cb044ca...0d10473be6
54
lib/.gitignore
vendored
54
lib/.gitignore
vendored
@@ -4,8 +4,7 @@
|
|||||||
/*~
|
/*~
|
||||||
/.deps
|
/.deps
|
||||||
/.dirstamp
|
/.dirstamp
|
||||||
/Makefile
|
/_Noreturn.h
|
||||||
/Makefile.in
|
|
||||||
/alignof.h
|
/alignof.h
|
||||||
/alloca.h
|
/alloca.h
|
||||||
/alloca.in.h
|
/alloca.in.h
|
||||||
@@ -15,7 +14,9 @@
|
|||||||
/asnprintf.c
|
/asnprintf.c
|
||||||
/basename-lgpl.c
|
/basename-lgpl.c
|
||||||
/basename.c
|
/basename.c
|
||||||
|
/binary-io.c
|
||||||
/binary-io.h
|
/binary-io.h
|
||||||
|
/bitrotate.c
|
||||||
/bitrotate.h
|
/bitrotate.h
|
||||||
/c++defs.h
|
/c++defs.h
|
||||||
/c-ctype.c
|
/c-ctype.c
|
||||||
@@ -28,8 +29,6 @@
|
|||||||
/charset.alias
|
/charset.alias
|
||||||
/cloexec.c
|
/cloexec.c
|
||||||
/cloexec.h
|
/cloexec.h
|
||||||
/close-hook.c
|
|
||||||
/close-hook.h
|
|
||||||
/close-stream.c
|
/close-stream.c
|
||||||
/close-stream.h
|
/close-stream.h
|
||||||
/close.c
|
/close.c
|
||||||
@@ -56,7 +55,6 @@
|
|||||||
/exitfail.h
|
/exitfail.h
|
||||||
/fatal-signal.c
|
/fatal-signal.c
|
||||||
/fatal-signal.h
|
/fatal-signal.h
|
||||||
/fclose.c
|
|
||||||
/fcntl.c
|
/fcntl.c
|
||||||
/fcntl.h
|
/fcntl.h
|
||||||
/fcntl.in.h
|
/fcntl.in.h
|
||||||
@@ -81,19 +79,27 @@
|
|||||||
/fseterr.h
|
/fseterr.h
|
||||||
/fstat.c
|
/fstat.c
|
||||||
/getdtablesize.c
|
/getdtablesize.c
|
||||||
|
/getopt-cdefs.in.h
|
||||||
|
/getopt-core.h
|
||||||
|
/getopt-ext.h
|
||||||
|
/getopt-pfx-core.h
|
||||||
|
/getopt-pfx-ext.h
|
||||||
/getopt.c
|
/getopt.c
|
||||||
/getopt.h
|
/getopt.h
|
||||||
/getopt.in.h
|
/getopt.in.h
|
||||||
/getopt1.c
|
/getopt1.c
|
||||||
/getopt_int.h
|
/getopt_int.h
|
||||||
|
/getprogname.c
|
||||||
|
/getprogname.h
|
||||||
/gettext.h
|
/gettext.h
|
||||||
/gnulib.mk
|
/gnulib.mk
|
||||||
|
/hard-locale.c
|
||||||
|
/hard-locale.h
|
||||||
/hash.c
|
/hash.c
|
||||||
/hash.h
|
/hash.h
|
||||||
/intprops.h
|
/intprops.h
|
||||||
/inttypes.h
|
/inttypes.h
|
||||||
/inttypes.in.h
|
/inttypes.in.h
|
||||||
/ioctl.c
|
|
||||||
/isnan.c
|
/isnan.c
|
||||||
/isnand-nolibm.h
|
/isnand-nolibm.h
|
||||||
/isnand.c
|
/isnand.c
|
||||||
@@ -103,9 +109,15 @@
|
|||||||
/isnanl.c
|
/isnanl.c
|
||||||
/itold.c
|
/itold.c
|
||||||
/ldexpl.c
|
/ldexpl.c
|
||||||
|
/limits.h
|
||||||
|
/limits.in.h
|
||||||
/localcharset.c
|
/localcharset.c
|
||||||
/localcharset.h
|
/localcharset.h
|
||||||
|
/lstat.c
|
||||||
/malloc.c
|
/malloc.c
|
||||||
|
/malloca.c
|
||||||
|
/malloca.h
|
||||||
|
/math.c
|
||||||
/math.h
|
/math.h
|
||||||
/math.in.h
|
/math.in.h
|
||||||
/mbrtowc.c
|
/mbrtowc.c
|
||||||
@@ -114,12 +126,11 @@
|
|||||||
/mbswidth.h
|
/mbswidth.h
|
||||||
/memchr.c
|
/memchr.c
|
||||||
/memchr.valgrind
|
/memchr.valgrind
|
||||||
|
/minmax.h
|
||||||
/msvc-inval.c
|
/msvc-inval.c
|
||||||
/msvc-inval.h
|
/msvc-inval.h
|
||||||
/msvc-nothrow.c
|
/msvc-nothrow.c
|
||||||
/msvc-nothrow.h
|
/msvc-nothrow.h
|
||||||
/nonblocking.c
|
|
||||||
/nonblocking.h
|
|
||||||
/obstack.c
|
/obstack.c
|
||||||
/obstack.h
|
/obstack.h
|
||||||
/obstack_printf.c
|
/obstack_printf.c
|
||||||
@@ -140,7 +151,6 @@
|
|||||||
/printf.c
|
/printf.c
|
||||||
/progname.c
|
/progname.c
|
||||||
/progname.h
|
/progname.h
|
||||||
/quote.c
|
|
||||||
/quote.h
|
/quote.h
|
||||||
/quotearg.c
|
/quotearg.c
|
||||||
/quotearg.h
|
/quotearg.h
|
||||||
@@ -154,6 +164,7 @@
|
|||||||
/ref-del.sin
|
/ref-del.sin
|
||||||
/sched.h
|
/sched.h
|
||||||
/sched.in.h
|
/sched.in.h
|
||||||
|
/sig-handler.c
|
||||||
/sig-handler.h
|
/sig-handler.h
|
||||||
/sigaction.c
|
/sigaction.c
|
||||||
/signal.h
|
/signal.h
|
||||||
@@ -182,6 +193,8 @@
|
|||||||
/spawnp.c
|
/spawnp.c
|
||||||
/sprintf.c
|
/sprintf.c
|
||||||
/stamp-h1
|
/stamp-h1
|
||||||
|
/stat-w32.c
|
||||||
|
/stat-w32.h
|
||||||
/stat.c
|
/stat.c
|
||||||
/stdbool.h
|
/stdbool.h
|
||||||
/stdbool.in.h
|
/stdbool.in.h
|
||||||
@@ -192,7 +205,6 @@
|
|||||||
/stdio--.h
|
/stdio--.h
|
||||||
/stdio-impl.h
|
/stdio-impl.h
|
||||||
/stdio-safer.h
|
/stdio-safer.h
|
||||||
/stdio-write.c
|
|
||||||
/stdio.h
|
/stdio.h
|
||||||
/stdio.in.h
|
/stdio.in.h
|
||||||
/stdlib.h
|
/stdlib.h
|
||||||
@@ -213,20 +225,17 @@
|
|||||||
/strnlen.c
|
/strnlen.c
|
||||||
/strverscmp.c
|
/strverscmp.c
|
||||||
/sys
|
/sys
|
||||||
/sys_ioctl.h
|
|
||||||
/sys_ioctl.in.h
|
/sys_ioctl.in.h
|
||||||
/sys_socket.h
|
|
||||||
/sys_socket.in.h
|
/sys_socket.in.h
|
||||||
/sys_stat.h
|
|
||||||
/sys_stat.in.h
|
/sys_stat.in.h
|
||||||
/sys_types.in.h
|
/sys_types.in.h
|
||||||
/sys_wait.h
|
|
||||||
/sys_wait.in.h
|
/sys_wait.in.h
|
||||||
/sysexits.in.h
|
/sysexits.in.h
|
||||||
/time.h
|
/time.h
|
||||||
/time.in.h
|
/time.in.h
|
||||||
/unistd--.h
|
/unistd--.h
|
||||||
/unistd-safer.h
|
/unistd-safer.h
|
||||||
|
/unistd.c
|
||||||
/unistd.h
|
/unistd.h
|
||||||
/unistd.in.h
|
/unistd.in.h
|
||||||
/unitypes.h
|
/unitypes.h
|
||||||
@@ -234,6 +243,7 @@
|
|||||||
/uniwidth
|
/uniwidth
|
||||||
/uniwidth.h
|
/uniwidth.h
|
||||||
/uniwidth.in.h
|
/uniwidth.in.h
|
||||||
|
/unlink.c
|
||||||
/unlocked-io.h
|
/unlocked-io.h
|
||||||
/unsetenv.c
|
/unsetenv.c
|
||||||
/vasnprintf.c
|
/vasnprintf.c
|
||||||
@@ -242,7 +252,6 @@
|
|||||||
/vfprintf.c
|
/vfprintf.c
|
||||||
/vsnprintf.c
|
/vsnprintf.c
|
||||||
/vsprintf.c
|
/vsprintf.c
|
||||||
/w32sock.h
|
|
||||||
/w32spawn.h
|
/w32spawn.h
|
||||||
/wait-process.c
|
/wait-process.c
|
||||||
/wait-process.h
|
/wait-process.h
|
||||||
@@ -250,6 +259,7 @@
|
|||||||
/warn-on-use.h
|
/warn-on-use.h
|
||||||
/wchar.h
|
/wchar.h
|
||||||
/wchar.in.h
|
/wchar.in.h
|
||||||
|
/wctype-h.c
|
||||||
/wctype.h
|
/wctype.h
|
||||||
/wctype.in.h
|
/wctype.in.h
|
||||||
/wcwidth.c
|
/wcwidth.c
|
||||||
@@ -260,17 +270,9 @@
|
|||||||
/xmalloc.c
|
/xmalloc.c
|
||||||
/xmemdup0.c
|
/xmemdup0.c
|
||||||
/xmemdup0.h
|
/xmemdup0.h
|
||||||
|
/xsize.c
|
||||||
/xsize.h
|
/xsize.h
|
||||||
/xstrndup.c
|
/xstrndup.c
|
||||||
/xstrndup.h
|
/xstrndup.h
|
||||||
/binary-io.c
|
/stat-time.c
|
||||||
/xsize.c
|
/stat-time.h
|
||||||
/bitrotate.c
|
|
||||||
/math.c
|
|
||||||
/sig-handler.c
|
|
||||||
/unistd.c
|
|
||||||
/wctype-h.c
|
|
||||||
/lstat.c
|
|
||||||
/unlink.c
|
|
||||||
/gettimeofday.c
|
|
||||||
/sys_time.in.h
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* Array bitsets.
|
/* Array bitsets.
|
||||||
|
|
||||||
Copyright (C) 2002-2003, 2006, 2009-2015 Free Software Foundation,
|
Copyright (C) 2002-2003, 2006, 2009-2015, 2018 Free Software
|
||||||
Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Functions to support abitsets.
|
/* Functions to support abitsets.
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* Base bitset stuff.
|
/* Base bitset stuff.
|
||||||
|
|
||||||
Copyright (C) 2002-2004, 2006, 2009-2015 Free Software Foundation,
|
Copyright (C) 2002-2004, 2006, 2009-2015, 2018 Free Software
|
||||||
Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* General bitsets.
|
/* General bitsets.
|
||||||
|
|
||||||
Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002-2006, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Generic bitsets.
|
/* Generic bitsets.
|
||||||
|
|
||||||
Copyright (C) 2002-2004, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002-2004, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Bitset statistics.
|
/* Bitset statistics.
|
||||||
|
|
||||||
Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002-2006, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Functions to support bitset statistics.
|
/* Functions to support bitset statistics.
|
||||||
|
|
||||||
Copyright (C) 2002-2004, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002-2004, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Bitset vectors.
|
/* Bitset vectors.
|
||||||
|
|
||||||
Copyright (C) 2001-2002, 2004, 2006, 2009-2015 Free Software
|
Copyright (C) 2001-2002, 2004, 2006, 2009-2015, 2018 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Bitset vectors.
|
/* Bitset vectors.
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Akim Demaille (akim@freefriends.org).
|
Contributed by Akim Demaille (akim@freefriends.org).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Bitset vectors.
|
/* Bitset vectors.
|
||||||
|
|
||||||
Copyright (C) 2001-2002, 2004-2006, 2009-2015 Free Software
|
Copyright (C) 2001-2002, 2004-2006, 2009-2015, 2018 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Bitset vectors.
|
/* Bitset vectors.
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Functions to support expandable bitsets.
|
/* Functions to support expandable bitsets.
|
||||||
|
|
||||||
Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002-2006, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Functions to support ebitsets.
|
/* Functions to support ebitsets.
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* get-errno.c - get and set errno.
|
/* get-errno.c - get and set errno.
|
||||||
|
|
||||||
Copyright (C) 2002, 2006, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2006, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* get-errno.h - get and set errno.
|
/* get-errno.h - get and set errno.
|
||||||
|
|
||||||
Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2009-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* Functions to support link list bitsets.
|
/* Functions to support link list bitsets.
|
||||||
|
|
||||||
Copyright (C) 2002-2004, 2006, 2009-2015 Free Software Foundation,
|
Copyright (C) 2002-2004, 2006, 2009-2015, 2018 Free Software
|
||||||
Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Functions to support lbitsets.
|
/* Functions to support lbitsets.
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Fake libiberty.h for Bison.
|
/* Fake libiberty.h for Bison.
|
||||||
|
|
||||||
Copyright (C) 2002-2004, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002-2004, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2015, 2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Yacc library main function.
|
/* Yacc library main function.
|
||||||
|
|
||||||
Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2009-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Timing variables for measuring compiler performance.
|
/* Timing variables for measuring compiler performance.
|
||||||
|
|
||||||
Copyright (C) 2000, 2002, 2004, 2006, 2009-2015 Free Software
|
Copyright (C) 2000, 2002, 2004, 2006, 2009-2015, 2018 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Alex Samuel <samuel@codesourcery.com>
|
Contributed by Alex Samuel <samuel@codesourcery.com>
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
/* This file contains the definitions for timing variables used to -*- C -*-
|
/* This file contains the definitions for timing variables used to -*- C -*-
|
||||||
measure run-time performance of the compiler.
|
measure run-time performance of the compiler.
|
||||||
|
|
||||||
Copyright (C) 2002, 2007, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2007, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Akim Demaille <akim@freefriends.org>.
|
Contributed by Akim Demaille <akim@freefriends.org>.
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* Timing variables for measuring compiler performance.
|
/* Timing variables for measuring compiler performance.
|
||||||
|
|
||||||
Copyright (C) 2000, 2002, 2004, 2009-2015 Free Software Foundation,
|
Copyright (C) 2000, 2002, 2004, 2009-2015, 2018 Free Software
|
||||||
Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Alex Samuel <samuel@codesourcery.com>
|
Contributed by Alex Samuel <samuel@codesourcery.com>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Variable array bitsets.
|
/* Variable array bitsets.
|
||||||
|
|
||||||
Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002-2006, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Functions to support vbitsets.
|
/* Functions to support vbitsets.
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Yacc library error-printing function.
|
/* Yacc library error-printing function.
|
||||||
|
|
||||||
Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2009-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user