Compare commits

..
50 Commits
Author SHA1 Message Date
Akim Demaille f49684a577 version 3.5.3
* NEWS: Record release date.
2020-03-08 08:30:41 +01:00
Akim Demaille 044ad1288c news: update for 3.5.3 2020-03-08 08:17:13 +01:00
Akim Demaille e3812bb8c3 yacc.c: make sure we properly propagated the user's number for error
* data/skeletons/yacc.c (YYERRCODE): Be truthful.
* tests/input.at (Redefining the error token): Check that.
2020-03-08 08:10:11 +01:00
Akim Demaille cfcd823e16 diagnostics: don't crash because of repeated definitions of error
According to https://www.unix.com/man-page/POSIX/1posix/yacc/, the
user is allowed to specify her user number for the error token:

    The token error shall be reserved for error handling. The name
    error can be used in grammar rules. It indicates places where the
    parser can recover from a syntax error. The default value of error
    shall be 256. Its value can be changed using a %token
    declaration. The lexical analyzer should not return the value of
    error.

I think this feature is useless, the user should not have to deal with
that.  The intend is probably to give the user a means to use 256 if
she wants to, but provided "error" cleared the path first by being
assigned another number.  In the case of Bison, 256 is assigned to
"error" at the end if the user did not use it for a token of hers.  So
this feature is useless.

Yet it is valid, and if the user assigns twice a token number to
"error", then the second time we want to complain about it and want to
show the original definition.  At this point, we try to display the
built-in definition of "error", whose location is NULL, and we crash.

Rather, the location of the first user definition of "error" should
become its defining location.

Reported byg Ahcheong Lee.
https://lists.gnu.org/r/bug-bison/2020-03/msg00007.html

* src/symtab.c (symbol_class_set): If this is a declaration and the
symbol was not declared yet, keep this as defining location.
* tests/input.at (Redefining the error token): New.
2020-03-08 08:10:11 +01:00
Akim Demaille 2f02d9beae style: initialize some struct members
* src/symtab.c (sym_content_new): Initialize all the location members.
Not needed by the code, but disturbing values when using a debugger.
2020-03-08 08:10:11 +01:00
Akim Demaille b638603477 diagnostics: beware of zero-width characters
Currenly we rely on (visual) width of the characters to decide where
to open and close the styling of the quoted lines.  This breaks when
we deal with zero-width characters: we cannot just rely on (visual)
columns, we need to know whether we are before, inside, or after the
highlighted portion.

* src/location.c (location_caret): col_end: no longer add 1, "regular"
characters have a width of 1, only 0-width characters have 0-width.
opened: replace with 'state', a three-valued enum.
Don't reopen the style if we already did.
* tests/diagnostics.at (Zero-width characters): New.
2020-03-08 08:10:11 +01:00
Akim Demaille e21ff47f5d diagnostics: be sure to close the styling when lines are too short
bar.y:4.12-17: <error>error:</error> redefining user token number of foo
    -    4 | %token foo <error>123
    +    4 | %token foo <error>123</error>
           |            <error>^~~~~~</error>

* src/location.c (location_caret): Be sure to close.
* tests/diagnostics.at (Line is too short, and then you die): New.
2020-03-07 10:01:52 +01:00
Akim Demaille b82b387da9 muscles: fix incorrect decoding of $
Bug introduced in 458171e6df.
https://lists.gnu.org/archive/html/bison-patches/2013-11/msg00009.html

Reported by Ahcheong Lee.
https://lists.gnu.org/r/bug-bison/2020-03/msg00010.html

* src/muscle-tab.c (COMMON_DECODE): "$" is coded as "$][", not "$[][".
* tests/input.at ("%define" enum variables): Check that case.
2020-03-07 07:45:10 +01:00
Akim Demaille 641e326303 code: be robust to reference with invalid tags
Because we want to support $<a->b>$, we must accept -> in type tags,
and reject $<->$, as it is unfinished.
Reported by Ahcheong Lee.

* src/scan-code.l (yylex): Make sure "tag" does not end with -, since
-> does not close the tag.
* tests/input.at (Stray $ or @): Check this.
2020-03-06 17:29:26 +01:00
Akimn Demaille 192e9fdf77 build: fix typo
* build-aux/cross-options.pl: here.
2020-03-06 08:32:26 +01:00
Akim Demaille a4a3f08c11 doc: update recommandation for libtextstyle
* README: here.
2020-03-06 08:32:18 +01:00
Akim Demaille 666df338a7 style: comment changes
* src/symtab.h, src/lr0.c: here.
2020-03-06 08:32:03 +01:00
Akim Demaille b437b16603 examples: use consistently the GFDL header for readmes
* examples/c++/README.md, examples/c++/calc++/README.md,
* examples/c/calc/README.md, examples/c/lexcalc/README.md,
* examples/c/reccalc/README.md:
Prefer the GFDL banner to the GPL one.
2020-03-06 08:31:34 +01:00
Akim Demaille b493c173c9 style: remove useless declarations
* src/reader.h: Don't duplicate what parse-gram.h already exposes.
* src/lr0.h: Remove useless include.
2020-03-06 08:30:21 +01:00
Adrian VogelsgesangandAkim Demaille aab3feb5a1 typo: succesful -> successful
* data/skeletons/lalr1.cc: here
* etc/bench.pl.in: here
* src/location.c: and here.
2020-03-06 08:29:58 +01:00
Akim Demaille b7942f2661 README: point to tests/bison, and document --trace
Reported by Victor Morales Cayuela.

* README, README-hacking.md: here.
2020-03-06 08:28:23 +01:00
Akim Demaille cefb538ab0 gnulib: update 2020-03-06 08:25:52 +01:00
Akim Demaille 26c5f48c1c maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2020-02-13 19:11:16 +01:00
Akim Demaille 7f921d18dd version 3.5.2
* NEWS: Record release date.
2020-02-13 18:25:21 +01:00
Akim Demaille cc3760ef51 news: 3.5.2
* NEWS: Update.
2020-02-13 18:25:11 +01:00
Akim Demaille 2f23ca6f65 gnulib: update 2020-02-13 08:18:12 +01:00
Akim Demaille 468b68c5cd doc: update Doxygen template
* Doxyfile.in: Run doxygen -u on it.
2020-02-13 08:18:12 +01:00
Akim Demaille 9ed802a026 java: avoid trailing white spaces
* data/skeletons/java.m4 (b4_maybe_throws): Issue a space before when needed.
* data/skeletons/lalr1.java: Avoid trailing spaces.
2020-02-13 08:18:12 +01:00
Akim Demaille fb554c2804 m4: fix b4_token_format
We used to emit:

    /** Token number,to be returned by the scanner.  */
    static final int NUM = 258;
    /** Token number,to be returned by the scanner.  */
    static final int NEG = 259;

with no space after the comma.  Fix that.

* data/skeletons/bison.m4 (b4_token_format): Quote where appropriate.
2020-02-13 08:18:11 +01:00
Akim Demaille 47850d4f58 doc: clearly state that %yacc only makes sense with yacc.c
* doc/bison.texi: here.
2020-02-13 08:18:11 +01:00
Akim Demaille 57b035a242 doc: spell check
* doc/bison.texi: here.
2020-02-13 08:18:11 +01:00
Akim Demaille 1587a5ea9b examples: be more robust to spaces in paths
Reported by Nikki Valen.
https://lists.gnu.org/r/bug-bison/2020-01/msg00032.html

* examples/test ($prog): Remove, replaced by...
(prog): This new function, which pays attention to quoting shell
variables.
2020-01-21 07:01:34 +01:00
Adrian VogelsgesangandAkim Demaille 4ab2cf7450 larlr1.cc: Reject unsupported values for parse.lac
Just as the yacc.c skeleton, the lalr1.cc skeleton should reject
invalid values for parse.lac.

* data/skeletons/lalr1.cc: check validity of parse.lac
* tests/input.at: new test cases
2020-01-21 06:57:21 +01:00
Akim Demaille 7e3a513d88 maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2020-01-19 14:35:50 +01:00
Akim Demaille 57f64ebbf8 version 3.5.1
* NEWS: Record release date.
2020-01-19 14:17:48 +01:00
Akim Demaille c8d997cb5f news: update 2020-01-19 14:10:46 +01:00
Akim Demaille 61b8a8def5 CI: use ICC again
See https://github.com/nemequ/icc-travis/issues/15.
Thanks to Jeff Hammond and Evan Nemerson for their help.

* configure.ac (warn_common): Disable dubious warnings.
* .travis.yml: Use ICC again.
2020-01-19 11:36:47 +01:00
Akim Demaille 6990c5bde9 warnings: pacify ICC in lalr1.cc
See 139d065594.

* data/skeletons/yacc.c: If I might be a char, write a[+I] instead of
a[I], so that ICC does not complain.
2020-01-19 11:35:26 +01:00
Jim MeyeringandAkim Demaille 27e822abfd test: report.at: avoid tiny new failure
Be robust to newer versions of Autoconf where the package URL defaults
to https instead of http.

* configure.ac (AC_INIT): Use https.
* tests/report.at: Adjust expected output s/http/https/
to match updated URL.
2020-01-19 10:03:01 +01:00
Akim Demaille 21ba496083 git: update ignores 2020-01-19 10:02:55 +01:00
Akim Demaille 9cf0a97aa9 gnulib: update 2020-01-11 06:03:51 +01:00
Akim Demaille 3dec8a4caf lalr1.cc: avoid static_cast
Reported by donmac703.
Fixes https://github.com/akimd/bison/issues/20.

* data/skeletons/lalr1.cc: here.
2020-01-10 19:31:00 +01:00
Akim Demaille 2cb52c5a91 glr.c: add missing cast
Reported by psjo.
Fixes https://github.com/akimd/bison/issues/19.

* data/skeletons/glr.c (yyprocessOneStack): Here.
2020-01-10 19:30:54 +01:00
Akim Demaille 04f3bfc596 regen 2020-01-10 19:21:35 +01:00
Akim Demaille c67daa9a97 package: bump copyrights to 2020
Run 'make update-copyright'.
2020-01-10 19:16:23 +01:00
Akim Demaille 2ca8e86f83 gitignore: update 2020-01-10 19:16:16 +01:00
Akim Demaille 78bb152a63 tests: also check -Wchar-subscripts
GCC's -Wchar-subscripts may report issues on platforms where char is
unsigned.  Unfortunately the current CI does not reproduce the
problem.  But that would allow contributors to report issues if the
warning appears somewhere.

See 139d065594.
Problem reported by Andy Fiddaman in:
https://lists.gnu.org/r/bug-bison/2019-12/msg00021.html

* configure.ac (warn_common): Add -Wchar-subscripts.
2019-12-31 12:00:02 +01:00
Akim Demaille 4d6ff4c5e5 CI: do not specify the language
When we give travis the langugage, it overrides our envvars.  Instead
of the MATRIX_EVAL trick, just stop specifying the language.
2019-12-30 15:28:15 +01:00
Akim Demaille 9bb5087ad1 CI: remove ICC support, we can no longer use it
https://github.com/nemequ/icc-travis/issues/15
2019-12-30 08:56:46 +01:00
Akim Demaille d29e40a047 doc: clean up the description of YYDEBUG
* doc/bison.texi: Make it clearer that %define parse.trace is the
preferred options.
Fix a typo about api.prefix.
2019-12-29 11:13:00 +01:00
Akim Demaille b10366f296 glr.cc: avoid compiler warnings
381. types.at:366: testing glr.cc api.value.type={double} ...
    test.cc:207:57: error: "__clang_major__" is not defined, evaluates to 0 [-Werror=undef]
      207 | #if defined __APPLE__ && YY_CPLUSPLUS < 201103L && 4 <= __clang_major__
          |                                                         ^~~~~~~~~~~~~~~

* data/skeletons/glr.cc: Check __clang_major__ before using it.
2019-12-29 11:13:00 +01:00
Paul Eggert 139d065594 warnings: pacify ‘gcc -Wchar-subscripts’ in yacc.c
Problem reported by Andy Fiddaman in:
https://lists.gnu.org/r/bug-bison/2019-12/msg00021.html
* data/skeletons/yacc.c (yy_reduce_print, yy_lac, yysyntax_error)
(yyreturn): If I might be a char, write a[+I] instead of a[I],
so that ‘gcc -Wchar-subscripts’ does not complain.
2019-12-18 13:35:28 -08:00
Akim Demaille 0d73c39bb7 doc: formatting changes
* doc/bison.texi: No output changes.
2019-12-14 17:19:53 +01:00
Akim Demaille 7f01adced9 tests: don't fail if seq is no available
As is the case on Solaris.
Reported by Dennis Clarke.
https://lists.gnu.org/archive/html/bug-bison/2019-12/msg00011.html

* examples/c/reccalc/reccalc.test: Skip if there is no seq.
2019-12-14 17:19:53 +01:00
Akim Demaille 3bad20352c maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2019-12-11 07:57:45 +01:00
215 changed files with 1238 additions and 758 deletions
+1 -1
View File
@@ -1 +1 @@
3.4.92 3.5.2
+69 -58
View File
@@ -1,14 +1,8 @@
# Travis defines and exports CC and CXX *after* we have defined our version: ~> 1.0
# environment variables via 'env'. So, do not use 'env' to define them.
# Instead, put their definitions in MATRIX_EVAL, which we eval after the
# definitions from Travis.
language: cpp
env: # If the language is set to C or C++, Travis defines and exports CC
global: # and CXX *after* we have defined our environment variables via 'env'.
# ICC serial number. language: minimal
# See https://github.com/nemequ/icc-travis.
secure: B3manbbi0anCAGDJTdAa9TlodzRHeiYD87FKmFzS877dPm8Cm0BDvtUhKBUpBvP8+nbHOWFGrgDmLugSZjTGU+mAxtuQpamUFHvinu0BIk3qtjlqouwvbtIqUu8iiZ3Uqu+xKeAANKRy0YVZGLlEb9F3N119tJ/Fxp1p9bXL1qph+CZ25OFbUgZ2s4F+/AyHMUxJlNXKFe3Qean65hC6edhU3zoaKzr/g/wtbhRmcyWbkOa1dJqzr2yKotcPvrnApGhDzgMKFtohg/t7xfMADDVv6sGS5XNpt25Z+MUCmLg4Z9eD7u109jvRV1eu/jgVafqsthWEhXbuMiFgFhKBKGCNZ0dACIfKZSkFZI6FdM7ovJ6aNhSlxZ2169Ybd22rN1UTHeCQWySPcVVOg5taLVpqe+E8Xhnv4hBO5NrzElWwCMLxIdPUSwVStYvtDr8ZytHWzfot50vSnFKIFpTOr9hP4+AJMVmmqJfaJo2MLBft/q2xkztrMv3lQSj3m4+ma9kPDwXIu9uCutjlnhc00jNx9qegi5VfpAjxcG1R+pX4T20az6ByHk/7LPQsANkT31RJq/jAeD9LEuMOy8miha83q4QuvbFaqPK3PY0el/O1LZaXqLsV2aQ0uqH8YX0l4r5NzHdhb+3lYgvpMBO5ytr/EWJiEyNYV518050IUDE=
# Run in two steps: # Run in two steps:
# 1. Build the tarball # 1. Build the tarball
@@ -87,7 +81,9 @@ jobs:
- sourceline: 'ppa:ubuntu-toolchain-r/test' - sourceline: 'ppa:ubuntu-toolchain-r/test'
packages: g++-9 packages: g++-9
env: env:
- MATRIX_EVAL="CC=gcc-9 && CXX=g++-9 && CONFIGUREFLAGS='CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3'" - CC=gcc-9
- CXX=g++-9
- CONFIGUREFLAGS='CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3'
# ASAN is time consuming, and we timeout the 50min granted by # ASAN is time consuming, and we timeout the 50min granted by
# Travis if we run all the tests in one go. Run in two parts. # Travis if we run all the tests in one go. Run in two parts.
@@ -108,7 +104,8 @@ jobs:
- libc++abi-9-dev - libc++abi-9-dev
env: env:
# Do not use ASAN with ubuntu's libc++: https://bugs.llvm.org/show_bug.cgi?id=17379 # Do not use ASAN with ubuntu's libc++: https://bugs.llvm.org/show_bug.cgi?id=17379
- MATRIX_EVAL="CC='clang-9 -fsanitize=address' CXX='clang++-9 -fsanitize=address -stdlib=libc++'" - CC='clang-9 -fsanitize=address'
- CXX='clang++-9 -fsanitize=address -stdlib=libc++'
- PART=1 - PART=1
- name: "Clang 9 libc++ and ASAN part 2" - name: "Clang 9 libc++ and ASAN part 2"
@@ -118,26 +115,26 @@ jobs:
addons: *clang9 addons: *clang9
env: env:
# Do not use ASAN with ubuntu's libc++: https://bugs.llvm.org/show_bug.cgi?id=17379 # Do not use ASAN with ubuntu's libc++: https://bugs.llvm.org/show_bug.cgi?id=17379
- MATRIX_EVAL="CC='clang-9 -fsanitize=address' CXX='clang++-9 -fsanitize=address -stdlib=libc++'" - CC='clang-9 -fsanitize=address'
- CXX='clang++-9 -fsanitize=address -stdlib=libc++'
- PART=2 - PART=2
# Currently no longer works (https://github.com/nemequ/icc-travis/issues/15). - name: "ICC"
# - name: "ICC" stage: check
# stage: check os: linux
# # We need the build-aux/install-icc.sh script. compiler: icc
# git: env:
# clone: true - CC=icc
# submodules: false - CXX=icpc
# depth: 1 install:
# os: linux - source /opt/intel/inteloneapi/compiler/latest/env/vars.sh
# dist: xenial addons:
# env: apt:
# # ICC's warnings are often very wrong (e.g., it thinks foo ? sources:
# # "bar" : "baz" is char* instead of const char*), so don't try - sourceline: 'deb https://apt.repos.intel.com/oneapi all main'
# # to work around the, and obviously, don't die on them. key_url: 'https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB'
# - MATRIX_EVAL="CC=icc && CXX=icpc" packages:
# - MAKE_ARGS='WERROR_CFLAGS= WERROR_CXXFLAGS=' - intel-oneapi-icc
## ----- ## ## ----- ##
## GCC. ## ## GCC. ##
@@ -150,7 +147,8 @@ jobs:
apt: apt:
packages: g++-8 packages: g++-8
env: env:
- MATRIX_EVAL="CC='gcc-8 -fsanitize=undefined,address -fno-omit-frame-pointer' CXX='g++-8 -fsanitize=undefined,address -fno-omit-frame-pointer'" - CC='gcc-8 -fsanitize=undefined,address -fno-omit-frame-pointer'
- CXX='g++-8 -fsanitize=undefined,address -fno-omit-frame-pointer'
- CONFIGUREFLAGS='CFLAGS=-O1 CXXFLAGS=-O1' - CONFIGUREFLAGS='CFLAGS=-O1 CXXFLAGS=-O1'
- PART=1 - PART=1
@@ -162,7 +160,8 @@ jobs:
apt: apt:
packages: g++-8 packages: g++-8
env: env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" - CC=gcc-8
- CXX=g++-8
- name: "GCC 7" - name: "GCC 7"
stage: check stage: check
@@ -172,7 +171,8 @@ jobs:
apt: apt:
packages: g++-7 packages: g++-7
env: env:
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" - CC=gcc-7
- CXX=g++-7
- name: "GCC 6" - name: "GCC 6"
stage: check stage: check
@@ -183,7 +183,8 @@ jobs:
sources: ubuntu-toolchain-r-test sources: ubuntu-toolchain-r-test
packages: g++-6 packages: g++-6
env: env:
- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6" - CC=gcc-6
- CXX=g++-6
- name: "GCC 5" - name: "GCC 5"
stage: check stage: check
@@ -194,7 +195,8 @@ jobs:
sources: ubuntu-toolchain-r-test sources: ubuntu-toolchain-r-test
packages: g++-5 packages: g++-5
env: env:
- MATRIX_EVAL="CC=gcc-5 && CXX=g++-5" - CC=gcc-5
- CXX=g++-5
- name: "GCC 4.9" - name: "GCC 4.9"
stage: check stage: check
@@ -205,7 +207,8 @@ jobs:
sources: ubuntu-toolchain-r-test sources: ubuntu-toolchain-r-test
packages: g++-4.9 packages: g++-4.9
env: env:
- MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" - CC=gcc-4.9
- CXX=g++-4.9
- name: "GCC 4.8" - name: "GCC 4.8"
stage: check stage: check
@@ -216,7 +219,8 @@ jobs:
sources: ubuntu-toolchain-r-test sources: ubuntu-toolchain-r-test
packages: g++-4.8 packages: g++-4.8
env: env:
- MATRIX_EVAL="CC=gcc-4.8 && CXX=g++-4.8" - CC=gcc-4.8
- CXX=g++-4.8
- name: "GCC 4.7" - name: "GCC 4.7"
stage: check stage: check
@@ -227,7 +231,8 @@ jobs:
sources: ubuntu-toolchain-r-test sources: ubuntu-toolchain-r-test
packages: g++-4.7 packages: g++-4.7
env: env:
- MATRIX_EVAL="CC=gcc-4.7 && CXX=g++-4.7" - CC=gcc-4.7
- CXX=g++-4.7
- name: "GCC 4.6" - name: "GCC 4.6"
stage: check stage: check
@@ -238,7 +243,8 @@ jobs:
sources: ubuntu-toolchain-r-test sources: ubuntu-toolchain-r-test
packages: g++-4.6 packages: g++-4.6
env: env:
- MATRIX_EVAL="CC=gcc-4.6 && CXX=g++-4.6" - CC=gcc-4.6
- CXX=g++-4.6
## ------- ## ## ------- ##
## Clang. ## ## Clang. ##
@@ -255,7 +261,8 @@ jobs:
- libc++-8-dev - libc++-8-dev
- libc++abi-8-dev - libc++abi-8-dev
env: env:
- MATRIX_EVAL="CC=clang-8 && CXX='clang++-8 -stdlib=libc++'" - CC=clang-8
- CXX='clang++-8 -stdlib=libc++'
- CONFIGUREFLAGS='CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3' - CONFIGUREFLAGS='CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3'
- name: "Clang 7" - name: "Clang 7"
@@ -269,7 +276,8 @@ jobs:
- libc++-7-dev - libc++-7-dev
- libc++abi-7-dev - libc++abi-7-dev
env: env:
- MATRIX_EVAL="CC=clang-7 && CXX='clang++-7 -stdlib=libc++'" - CC=clang-7
- CXX='clang++-7 -stdlib=libc++'
- name: "Clang 6 and libc++" - name: "Clang 6 and libc++"
stage: check stage: check
@@ -284,7 +292,8 @@ jobs:
- clang-6.0 - clang-6.0
- libc++-dev - libc++-dev
env: env:
- MATRIX_EVAL="CC=clang-6.0 && CXX='clang++-6.0 -stdlib=libc++'" - CC=clang-6.0
- CXX='clang++-6.0 -stdlib=libc++'
- name: "Clang 5" - name: "Clang 5"
stage: check stage: check
@@ -297,7 +306,8 @@ jobs:
- clang-5.0 - clang-5.0
- libc++-dev - libc++-dev
env: env:
- MATRIX_EVAL="CC='clang-5.0' CXX='clang++-5.0'" - CC='clang-5.0'
- CXX='clang++-5.0'
- name: "Clang 4" - name: "Clang 4"
stage: check stage: check
@@ -308,7 +318,8 @@ jobs:
sources: llvm-toolchain-xenial-4.0 sources: llvm-toolchain-xenial-4.0
packages: clang-4.0 packages: clang-4.0
env: env:
- MATRIX_EVAL="CC=clang-4.0 && CXX=clang++-4.0" - CC=clang-4.0
- CXX=clang++-4.0
- name: "Clang 3.9" - name: "Clang 3.9"
stage: check stage: check
@@ -319,7 +330,8 @@ jobs:
sources: llvm-toolchain-xenial-3.9 sources: llvm-toolchain-xenial-3.9
packages: clang-3.9 packages: clang-3.9
env: env:
- MATRIX_EVAL="CC=clang-3.9 && CXX=clang++-3.9" - CC=clang-3.9
- CXX=clang++-3.9
- name: "Clang 3.8" - name: "Clang 3.8"
stage: check stage: check
@@ -332,7 +344,8 @@ jobs:
- llvm-toolchain-precise-3.8 - llvm-toolchain-precise-3.8
packages: clang-3.8 packages: clang-3.8
env: env:
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" - CC=clang-3.8
- CXX=clang++-3.8
- name: "CLang 3.7" - name: "CLang 3.7"
stage: check stage: check
@@ -345,7 +358,8 @@ jobs:
- llvm-toolchain-precise-3.7 - llvm-toolchain-precise-3.7
packages: clang-3.7 packages: clang-3.7
env: env:
- MATRIX_EVAL="CC=clang-3.7 && CXX=clang++-3.7" - CC=clang-3.7
- CXX=clang++-3.7
- name: "Clang 3.6" - name: "Clang 3.6"
stage: check stage: check
@@ -358,7 +372,8 @@ jobs:
- llvm-toolchain-precise-3.6 - llvm-toolchain-precise-3.6
packages: clang-3.6 packages: clang-3.6
env: env:
- MATRIX_EVAL="CC=clang-3.6 && CXX=clang++-3.6" - CC=clang-3.6
- CXX=clang++-3.6
- name: "Clang 3.5" - name: "Clang 3.5"
stage: check stage: check
@@ -371,7 +386,8 @@ jobs:
- llvm-toolchain-precise-3.5 - llvm-toolchain-precise-3.5
packages: clang-3.5 packages: clang-3.5
env: env:
- MATRIX_EVAL="CC=clang-3.5 && CXX=clang++-3.5" - CC=clang-3.5
- CXX=clang++-3.5
- name: "Clang 3.4" - name: "Clang 3.4"
stage: check stage: check
@@ -384,7 +400,8 @@ jobs:
env: env:
# No versioned name installed, but beware that Travis installs # No versioned name installed, but beware that Travis installs
# a more modern clang earlier in the default PATH. # a more modern clang earlier in the default PATH.
- MATRIX_EVAL='CC=/usr/bin/clang && CXX=/usr/bin/clang++' - CC=/usr/bin/clang
- CXX=/usr/bin/clang++
- name: "Clang 3.3" - name: "Clang 3.3"
stage: check stage: check
@@ -396,7 +413,8 @@ jobs:
packages: clang-3.3 packages: clang-3.3
env: env:
# See comment for 3.4. # See comment for 3.4.
- MATRIX_EVAL='CC=/usr/bin/clang && CXX=/usr/bin/clang++' - CC=/usr/bin/clang
- CXX=/usr/bin/clang++
## From https://docs.gitlab.com/ce/ci/ssh_keys/#ssh-keys-when-using-the-docker-executor. ## From https://docs.gitlab.com/ce/ci/ssh_keys/#ssh-keys-when-using-the-docker-executor.
## Applies to Travis too. Applied to all the 'script's (of all the jobs). ## Applies to Travis too. Applied to all the 'script's (of all the jobs).
@@ -414,13 +432,9 @@ before_script:
# Applies only to the jobs that don't have a 'script', i.e., applies to all the 'check' jobs, but not the 'dist' one. # Applies only to the jobs that don't have a 'script', i.e., applies to all the 'check' jobs, but not the 'dist' one.
script: script:
- eval "$MATRIX_EVAL"
# Beware not too leak $SSH_PRIVATE_KEY. # Beware not too leak $SSH_PRIVATE_KEY.
# - env # - env
- sudo apt-get install -qq doxygen flex m4 - sudo apt-get install -qq doxygen flex m4
# Install and activate ICC.
- if [[ $CC == "icc" ]]; then build-aux/install-icc.sh; fi
- if [[ -f ~/.bashrc ]]; then source ~/.bashrc; fi
# Install and activate dmd. # Install and activate dmd.
- mkdir -p ~/dlang && wget https://dlang.org/install.sh -O ~/dlang/install.sh - mkdir -p ~/dlang && wget https://dlang.org/install.sh -O ~/dlang/install.sh
- source $(source ~/dlang/install.sh dmd -a) - source $(source ~/dlang/install.sh dmd -a)
@@ -452,6 +466,3 @@ script:
- if test ${PART-1} = 1; then make check VERBOSE=1 TESTSUITEFLAGS=-j2 || { cat test-suite.log && cat tests/testsuite.log && false; }; fi - if test ${PART-1} = 1; then make check VERBOSE=1 TESTSUITEFLAGS=-j2 || { cat test-suite.log && cat tests/testsuite.log && false; }; fi
- if test ${PART-2} = 2; then make maintainer-check-posix VERBOSE=1 TESTSUITEFLAGS=-j2 || { cat tests/testsuite.log && false; }; fi - if test ${PART-2} = 2; then make maintainer-check-posix VERBOSE=1 TESTSUITEFLAGS=-j2 || { cat tests/testsuite.log && false; }; fi
- if test ${PART-2} = 2; then make maintainer-check-g++ VERBOSE=1 TESTSUITEFLAGS=-j2 || { cat tests/testsuite.log && false; }; fi - if test ${PART-2} = 2; then make maintainer-check-g++ VERBOSE=1 TESTSUITEFLAGS=-j2 || { cat tests/testsuite.log && false; }; fi
after_script:
- uninstall_intel_software || true
+1 -1
View File
@@ -24,7 +24,7 @@ and nasty bugs.
----- -----
Copyright (C) 1998-2015, 2018-2019 Free Software Foundation, Inc. Copyright (C) 1998-2015, 2018-2020 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 -1
View File
@@ -26733,7 +26733,7 @@
----- -----
Copyright (C) 1987-1988, 1991-2015, 2018-2019 Free Software Copyright (C) 1987-1988, 1991-2015, 2018-2020 Free Software
Foundation, Inc. Foundation, Inc.
Copying and distribution of this file, with or without Copying and distribution of this file, with or without
+1 -1
View File
@@ -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, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2001-2015, 2018-2020 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
+28 -1
View File
@@ -1,5 +1,32 @@
GNU Bison NEWS GNU Bison NEWS
* Noteworthy changes in release 3.5.3 (2020-03-08) [stable]
** Bug fixes
Error messages could quote lines containing zero-width characters (such as
\005) with incorrect styling. Fixes for similar issues with unexpectedly
short lines (e.g., the file was changed between parsing and diagnosing).
Several unlikely crashes found by fuzzing have been fixed.
* Noteworthy changes in release 3.5.2 (2020-02-13) [stable]
** Bug fixes
Portability issues and minor cosmetic issues.
The lalr1.cc skeleton properly rejects unsupported values for parse.lac
(as yacc.c does).
* Noteworthy changes in release 3.5.1 (2020-01-19) [stable]
** Bug fixes
Portability fixes.
Fix compiler warnings.
* Noteworthy changes in release 3.5 (2019-12-11) [stable] * Noteworthy changes in release 3.5 (2019-12-11) [stable]
** Backward incompatible changes ** Backward incompatible changes
@@ -3811,7 +3838,7 @@ Output file does not redefine const for C++.
----- -----
Copyright (C) 1995-2015, 2018-2019 Free Software Foundation, Inc. Copyright (C) 1995-2015, 2018-2020 Free Software Foundation, Inc.
This file is part of Bison, the GNU Parser Generator. This file is part of Bison, the GNU Parser Generator.
+1 -1
View File
@@ -36,7 +36,7 @@ to the bison package.
----- -----
Copyright (C) 2002, 2005, 2009-2015, 2018-2019 Free Software Foundation, Copyright (C) 2002, 2005, 2009-2015, 2018-2020 Free Software Foundation,
Inc. Inc.
This file is part of Bison, the GNU Compiler Compiler. This file is part of Bison, the GNU Compiler Compiler.
+13 -14
View File
@@ -17,13 +17,18 @@ See the file INSTALL for generic compilation and installation instructions.
Bison requires GNU m4 1.4.6 or later. See Bison requires GNU m4 1.4.6 or later. See
https://ftp.gnu.org/gnu/m4/m4-1.4.6.tar.gz. https://ftp.gnu.org/gnu/m4/m4-1.4.6.tar.gz.
## Running a non installed bison
Once you ran `make`, you might want to toy with this fresh bison before
installing it. In that case, do not use `src/bison`: it would use the
*installed* files (skeletons, etc.), not the local ones. Use `tests/bison`.
## Colored diagnostics ## Colored diagnostics
As an experimental feature, diagnostics are now colored, controlled by the As an experimental feature, diagnostics are now colored, controlled by the
`--color` and `--style` options. `--color` and `--style` options.
To use them, install the libtextstyle library before configuring Bison. It To use them, install the libtextstyle library before configuring Bison. It
is available from https://alpha.gnu.org/gnu/gettext/, for instance is available from https://alpha.gnu.org/gnu/gettext/, for instance
https://alpha.gnu.org/gnu/gettext/libtextstyle-0.8.tar.gz. https://alpha.gnu.org/pub/gnu/gettext/libtextstyle-0.20.5.tar.gz.
The option --color supports the following arguments: The option --color supports the following arguments:
- always, yes: Enable colors. - always, yes: Enable colors.
@@ -80,23 +85,17 @@ that the range specifies every single year in that closed interval.
<!-- <!--
Copyright (C) 1992, 1998-1999, 2003-2005, 2008-2015, 2018-2019 Free Copyright (C) 1992, 1998-1999, 2003-2005, 2008-2015, 2018-2020 Free
Software Foundation, Inc. Software Foundation, Inc.
This file is part of GNU bison, the GNU Compiler Compiler. This file is part of GNU bison, the GNU Compiler Compiler.
This program is free software: you can redistribute it and/or modify Permission is granted to copy, distribute and/or modify this document
it under the terms of the GNU General Public License as published by under the terms of the GNU Free Documentation License, Version 1.3 or
the Free Software Foundation, either version 3 of the License, or any later version published by the Free Software Foundation; with no
(at your option) any later version. Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the "GNU Free
This program is distributed in the hope that it will be useful, Documentation License" file as part of this distribution.
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/>.
Local Variables: Local Variables:
mode: markdown mode: markdown
+1 -1
View File
@@ -12,7 +12,7 @@ the problems you encounter.
----- -----
Copyright (C) 2002, 2004, 2009-2015, 2018-2019 Free Software Foundation, Copyright (C) 2002, 2004, 2009-2015, 2018-2020 Free Software Foundation,
Inc. Inc.
This file is part of GNU Bison. This file is part of GNU Bison.
+17 -2
View File
@@ -34,13 +34,28 @@ Only user visible strings are to be translated: error messages, bits of the
assert/abort), and all the --trace output which is meant for the maintainers assert/abort), and all the --trace output which is meant for the maintainers
only. only.
## Horizontal tabs ## Coding style
Follow the GNU Coding Standards.
Don't reinvent the wheel: we use gnulib, which features many components.
Actually, Bison has legacy code that we should replace with gnulib modules
(e.g., many adhoc implementations of lists).
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 tabs. However, make files, ChangeLog, and some regular expressions require tabs.
Also, test cases might need to contain tabs to check that Bison properly Also, test cases might need to contain tabs to check that Bison properly
processes tabs in its input. processes tabs in its input.
## Commit messages
Please, imitate the style we use. Use `git log` to get sources of
inspiration.
## Debugging
Bison supports tracing of its various steps, via the `--trace` option.
Since it is not meant for the end user, it is not displayed by `bison
--help`, nor is it documented in the manual. Instead, run `bison
--trace=help`.
# Working from the repository # Working from the repository
@@ -507,7 +522,7 @@ Push these changes.
<!-- <!--
Copyright (C) 2002-2005, 2007-2015, 2018-2019 Free Software Foundation, Copyright (C) 2002-2005, 2007-2015, 2018-2020 Free Software Foundation,
Inc. Inc.
This file is part of GNU Bison. This file is part of GNU Bison.
+6 -2
View File
@@ -4,8 +4,9 @@ it is today without the invaluable help of these people:
Aaro Koskinen [email protected] Aaro Koskinen [email protected]
Аскар Сафин [email protected] Аскар Сафин [email protected]
Adam Sampson [email protected] Adam Sampson [email protected]
Ahcheong Lee [email protected]
Airy Andre [email protected] Airy Andre [email protected]
Akim Demaille akim@lrde.epita.fr Akim Demaille akim@gnu.org
Albert Chin-A-Young [email protected] Albert Chin-A-Young [email protected]
Alexander Belopolsky [email protected] Alexander Belopolsky [email protected]
Alexandre Duret-Lutz [email protected] Alexandre Duret-Lutz [email protected]
@@ -60,6 +61,7 @@ Enrico Scholz [email protected]
Eric Blake [email protected] Eric Blake [email protected]
Eric S. Raymond [email protected] Eric S. Raymond [email protected]
Étienne Renault [email protected] Étienne Renault [email protected]
Evan Nemerson [email protected]
Evgeny Stambulchik [email protected] Evgeny Stambulchik [email protected]
Fabrice Bauzac [email protected] Fabrice Bauzac [email protected]
Ferdinand Thiessen [email protected] Ferdinand Thiessen [email protected]
@@ -79,6 +81,7 @@ Hans Åberg [email protected]
Horst Von Brand [email protected] Horst Von Brand [email protected]
Jan Nieuwenhuizen [email protected] Jan Nieuwenhuizen [email protected]
Jannick [email protected] Jannick [email protected]
Jeff Hammond [email protected]
Jerry Quinn [email protected] Jerry Quinn [email protected]
Jesse Thilo [email protected] Jesse Thilo [email protected]
Jim Kent [email protected] Jim Kent [email protected]
@@ -128,6 +131,7 @@ Nick Bowler [email protected]
Nicolas Bedon [email protected] Nicolas Bedon [email protected]
Nicolas Burrus [email protected] Nicolas Burrus [email protected]
Nicolas Tisserand [email protected] Nicolas Tisserand [email protected]
Nikki Valen [email protected]
Noah Friedman [email protected] Noah Friedman [email protected]
Odd Arild Olsen [email protected] Odd Arild Olsen [email protected]
Oleg Smolsky [email protected] Oleg Smolsky [email protected]
@@ -219,7 +223,7 @@ End:
----- -----
Copyright (C) 2000-2015, 2018-2019 Free Software Foundation, Inc. Copyright (C) 2000-2015, 2018-2020 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 -8
View File
@@ -315,13 +315,8 @@ It would be a very nice source of inspiration for the other languages.
Valentin Tolmer is working on this. Valentin Tolmer is working on this.
** YYERRCODE ** YYERRCODE
Defined to 256, but not used, not documented. Probably the token Why don't we output the token name of the error token in the output? It is
number for the error token, which POSIX wants to be 256, but which explicitly skipped:
Bison might renumber if the user used number 256. Keep fix and doc?
Throw away?
Also, why don't we output the token name of the error token in the
output? It is explicitly skipped:
/* Skip error token and tokens without identifier. */ /* Skip error token and tokens without identifier. */
if (sym != errtoken && id) if (sym != errtoken && id)
@@ -612,7 +607,7 @@ End:
----- -----
Copyright (C) 2001-2004, 2006, 2008-2015, 2018-2019 Free Software Copyright (C) 2001-2004, 2006, 2008-2015, 2018-2020 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.
+1 -1
View File
@@ -4,7 +4,7 @@ scriptversion=2019-01-04.17; # UTC
# Bootstrap this package from checked-out sources. # Bootstrap this package from checked-out sources.
# Copyright (C) 2003-2019 Free Software Foundation, Inc. # Copyright (C) 2003-2020 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 -1
View File
@@ -1,6 +1,6 @@
# Bootstrap configuration. # Bootstrap configuration.
# Copyright (C) 2006-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2006-2015, 2018-2020 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 -1
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2012-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2012-2015, 2018-2020 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 -1
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2012-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2012-2015, 2018-2020 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
View File
@@ -1,5 +1,24 @@
#! /usr/bin/env perl #! /usr/bin/env perl
# Generate a release announcement message.
# Copyright (C) 2007-2020 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 <https://www.gnu.org/licenses/>.
#
# Written by Akim Demaille.
use warnings; use warnings;
use 5.005; use 5.005;
use strict; use strict;
+1 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2000-2015, 2018-2019 Free Software Foundation, Inc. ## Copyright (C) 2000-2015, 2018-2020 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 -1
View File
@@ -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, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2009-2015, 2018-2020 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 -1
View File
@@ -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, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2010-2015, 2018-2020 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
View File
@@ -1,5 +1,24 @@
#! /usr/bin/env python #! /usr/bin/env python
# Update expectations in an Autotest test suite.
# Copyright (C) 2019-2020 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 <https://www.gnu.org/licenses/>.
#
# Written by Akim Demaille.
# usage: # usage:
# #
# update-test _build/8d/tests/testsuite.dir/*/testsuite.log # update-test _build/8d/tests/testsuite.dir/*/testsuite.log
+1 -1
View File
@@ -1,5 +1,5 @@
## Customize maint.mk -*- makefile -*- ## Customize maint.mk -*- makefile -*-
## Copyright (C) 2008-2015, 2018-2019 Free Software Foundation, Inc. ## Copyright (C) 2008-2015, 2018-2020 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
+36 -5
View File
@@ -1,6 +1,6 @@
# Configure template for GNU Bison. -*-Autoconf-*- # Configure template for GNU Bison. -*-Autoconf-*-
# #
# Copyright (C) 2001-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2001-2015, 2018-2020 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,8 +26,10 @@ m4_pattern_allow([^BISON_USE_NLS$])
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]),
[[email protected]]) [[email protected]],
AC_SUBST([PACKAGE_COPYRIGHT_YEAR], [2019]) [],
[https://www.gnu.org/software/bison/])
AC_SUBST([PACKAGE_COPYRIGHT_YEAR], [2020])
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])
@@ -100,12 +102,41 @@ if test "$enable_gcc_warnings" = yes; then
# -Wno-tautological-constant-out-of-range-compare for Clang 3.3 and # -Wno-tautological-constant-out-of-range-compare for Clang 3.3 and
# 3.4 on GNU/Linux that choke on intprops.h's INT_MULTIPLY_WRAPV, # 3.4 on GNU/Linux that choke on intprops.h's INT_MULTIPLY_WRAPV,
# etc. # etc.
warn_common='-Wall -Wextra -Wcast-align #
# ICC: -wr188
#
# 1669 warnings warnings_default =
# ../src/complain.c(318): error #188: enumerated type mixed with another type
# 1670 Wconflicts_sr | Wconflicts_rr | Wdeprecated | Wother;
# 1671 ^
# 1672
# 1673../src/complain.c(393): error #188: enumerated type mixed with another type
# 1674 warnings w = 1 << wbit;
# 1675 ^
#
# ICC: -wr3179
#
# char const *usefulness
# = rule_useless_in_grammar_p (&rules[r]) ? "useless-in-grammar"
# : rule_useless_in_parser_p (&rules[r]) ? "useless-in-parser"
# : "useful";
#
# gives
#
# error #3179: deprecated conversion of string literal to char* (should be const char*)
#
# ICC: -wr2259 (that's in C, in spite of what the error messages which seems to be about C++).
# error #2259: non-pointer conversion from "int" to "yybool={signed char}" may lose significant bits
# yybool yynormal YY_ATTRIBUTE_UNUSED = yystackp->yysplitPoint == YY_NULLPTR;
# ^
warn_common='-Wall -Wextra
-Wcast-align -Wchar-subscripts
-fparse-all-comments -Wdocumentation -fparse-all-comments -Wdocumentation
-Wformat -Wimplicit-fallthrough -Wnull-dereference -Wformat -Wimplicit-fallthrough -Wnull-dereference
-Wno-sign-compare -Wno-tautological-constant-out-of-range-compare -Wno-sign-compare -Wno-tautological-constant-out-of-range-compare
-Wpointer-arith -Wshadow -Wpointer-arith -Wshadow
-Wwrite-strings' -Wwrite-strings
-wr188 -wr2259 -wr3179'
warn_c='-Wbad-function-cast -Wstrict-prototypes' warn_c='-Wbad-function-cast -Wstrict-prototypes'
warn_cxx='-Wextra-semi -Wnoexcept -Wold-style-cast -Wundefined-func-template warn_cxx='-Wextra-semi -Wnoexcept -Wold-style-cast -Wundefined-func-template
-Wweak-vtables' -Wweak-vtables'
+1 -1
View File
@@ -174,7 +174,7 @@ fill-column: 76
ispell-dictionary: "american" ispell-dictionary: "american"
End: End:
Copyright (C) 2002, 2008-2015, 2018-2019 Free Software Foundation, Inc. Copyright (C) 2002, 2008-2015, 2018-2020 Free Software Foundation, Inc.
This file is part of GNU Bison. This file is part of GNU Bison.
+1 -1
View File
@@ -1,5 +1,5 @@
/* Default styling rules for Bison when doing terminal output. /* Default styling rules for Bison when doing terminal output.
Copyright (C) 2019 Free Software Foundation, Inc. Copyright (C) 2019-2020 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 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2002, 2005-2015, 2018-2019 Free Software Foundation, ## Copyright (C) 2002, 2005-2015, 2018-2020 Free Software Foundation,
## Inc. ## 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
+4 -4
View File
@@ -2,7 +2,7 @@
# Language-independent M4 Macros for Bison. # Language-independent M4 Macros for Bison.
# Copyright (C) 2002, 2004-2015, 2018-2019 Free Software Foundation, # Copyright (C) 2002, 2004-2015, 2018-2020 Free Software Foundation,
# Inc. # 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
@@ -532,9 +532,9 @@ m4_define([b4_any_token_visible_if],
# ---------------------------- # ----------------------------
m4_define([b4_token_format], m4_define([b4_token_format],
[b4_token_visible_if([$2], [b4_token_visible_if([$2],
[m4_quote(m4_format([$1], [m4_format([[$1]],
[b4_symbol([$2], [id])], m4_quote(b4_symbol([$2], [id])),
[b4_symbol([$2], b4_api_token_raw_if([[number]], [[user_number]]))]))])]) m4_quote(b4_symbol([$2], b4_api_token_raw_if([[number]], [[user_number]]))))])])
## ------- ## ## ------- ##
+1 -1
View File
@@ -2,7 +2,7 @@
# C++ skeleton dispatching for Bison. # C++ skeleton dispatching for Bison.
# Copyright (C) 2006-2007, 2009-2015, 2018-2019 Free Software # Copyright (C) 2006-2007, 2009-2015, 2018-2020 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 -1
View File
@@ -2,7 +2,7 @@
# C++ skeleton for Bison # C++ skeleton for Bison
# Copyright (C) 2002-2019 Free Software Foundation, Inc. # Copyright (C) 2002-2020 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 -1
View File
@@ -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, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2012-2015, 2018-2020 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 -1
View File
@@ -2,7 +2,7 @@
# C skeleton dispatching for Bison. # C skeleton dispatching for Bison.
# Copyright (C) 2006-2007, 2009-2015, 2018-2019 Free Software # Copyright (C) 2006-2007, 2009-2015, 2018-2020 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 -1
View File
@@ -2,7 +2,7 @@
# C M4 Macros for Bison. # C M4 Macros for Bison.
# Copyright (C) 2002, 2004-2015, 2018-2019 Free Software Foundation, # Copyright (C) 2002, 2004-2015, 2018-2020 Free Software Foundation,
# Inc. # 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 -1
View File
@@ -2,7 +2,7 @@
# D skeleton dispatching for Bison. # D skeleton dispatching for Bison.
# Copyright (C) 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2018-2020 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 -1
View File
@@ -2,7 +2,7 @@
# D language support for Bison # D language support for Bison
# Copyright (C) 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2018-2020 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
+5 -4
View File
@@ -2,7 +2,7 @@
# GLR skeleton for Bison # GLR skeleton for Bison
# Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2002-2015, 2018-2020 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 @@ b4_glr_cc_if([],
[b4_defines_if( [b4_defines_if(
[b4_output_begin([b4_spec_header_file]) [b4_output_begin([b4_spec_header_file])
b4_copyright([Skeleton interface for Bison GLR parsers in C], b4_copyright([Skeleton interface for Bison GLR parsers in C],
[2002-2015, 2018-2019])[ [2002-2015, 2018-2020])[
]b4_cpp_guard_open([b4_spec_header_file])[ ]b4_cpp_guard_open([b4_spec_header_file])[
]b4_shared_declarations[ ]b4_shared_declarations[
]b4_cpp_guard_close([b4_spec_header_file])[ ]b4_cpp_guard_close([b4_spec_header_file])[
@@ -212,7 +212,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, 2018-2019])[ [2002-2015, 2018-2020])[
/* C GLR parser skeleton written by Paul Hilfinger. */ /* C GLR parser skeleton written by Paul Hilfinger. */
]b4_disclaimer[ ]b4_disclaimer[
@@ -1985,7 +1985,8 @@ yyprocessOneStack (yyGLRStack* yystackp, ptrdiff_t yyk,
while (yystackp->yytops.yystates[yyk] != YY_NULLPTR) while (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
{ {
yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState; yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState;
YY_DPRINTF ((stderr, "Stack %ld Entering state %d\n", yyk, yystate)); YY_DPRINTF ((stderr, "Stack %ld Entering state %d\n",
YY_CAST (long, yyk), yystate));
YY_ASSERT (yystate != YYFINAL); YY_ASSERT (yystate != YYFINAL);
+4 -3
View File
@@ -1,6 +1,6 @@
# C++ GLR skeleton for Bison # C++ GLR skeleton for Bison
# Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2002-2015, 2018-2020 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
@@ -267,7 +267,8 @@ b4_percent_code_get([[requires]])[
// On MacOS, PTRDIFF_MAX is defined as long long, which Clang's // On MacOS, PTRDIFF_MAX is defined as long long, which Clang's
// -pedantic reports as being a C++11 extension. // -pedantic reports as being a C++11 extension.
#if defined __APPLE__ && YY_CPLUSPLUS < 201103L && 4 <= __clang_major__ #if defined __APPLE__ && YY_CPLUSPLUS < 201103L \
&& defined __clang__ && 4 <= __clang_major__
# pragma clang diagnostic ignored "-Wc++11-long-long" # pragma clang diagnostic ignored "-Wc++11-long-long"
#endif #endif
@@ -367,7 +368,7 @@ b4_percent_define_flag_if([[global_tokens_and_yystype]],
b4_defines_if( b4_defines_if(
[b4_output_begin([b4_spec_header_file]) [b4_output_begin([b4_spec_header_file])
b4_copyright([Skeleton interface for Bison GLR parsers in C++], b4_copyright([Skeleton interface for Bison GLR parsers in C++],
[2002-2015, 2018-2019])[ [2002-2015, 2018-2020])[
// C++ GLR parser skeleton written by Akim Demaille. // C++ GLR parser skeleton written by Akim Demaille.
]b4_disclaimer[ ]b4_disclaimer[
+1 -1
View File
@@ -2,7 +2,7 @@
# Java skeleton dispatching for Bison. # Java skeleton dispatching for Bison.
# Copyright (C) 2007, 2009-2015, 2018-2019 Free Software Foundation, # Copyright (C) 2007, 2009-2015, 2018-2020 Free Software Foundation,
# Inc. # 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
+8 -6
View File
@@ -2,7 +2,7 @@
# Java language support for Bison # Java language support for Bison
# Copyright (C) 2007-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2007-2015, 2018-2020 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
@@ -147,18 +147,20 @@ b4_symbol_foreach([b4_token_enum])])])
# b4-case(ID, CODE) # b4-case(ID, CODE)
# ----------------- # -----------------
# We need to fool Java's stupid unreachable code detection. # We need to fool Java's stupid unreachable code detection.
m4_define([b4_case], [ case $1: m4_define([b4_case],
[ case $1:
if (yyn == $1) if (yyn == $1)
$2; $2;
break; break;
]) ])
# b4_predicate_case(LABEL, CONDITIONS) # b4_predicate_case(LABEL, CONDITIONS)
# ------------------------------------ # ------------------------------------
m4_define([b4_predicate_case], [ case $1: m4_define([b4_predicate_case],
[ case $1:
if (! ($2)) YYERROR; if (! ($2)) YYERROR;
break; break;
]) ])
## -------- ## ## -------- ##
@@ -361,4 +363,4 @@ m4_define([b4_var_decl],
# ----------------------- # -----------------------
# Expand to either an empty string or "throws THROWS". # Expand to either an empty string or "throws THROWS".
m4_define([b4_maybe_throws], m4_define([b4_maybe_throws],
[m4_ifval($1, [throws $1])]) [m4_ifval($1, [ throws $1])])
+13 -12
View File
@@ -1,6 +1,6 @@
# C++ skeleton for Bison # C++ skeleton for Bison
# Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2002-2015, 2018-2020 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
@@ -23,6 +23,7 @@ m4_define([b4_value_type_setup_variant])
# Check the value of %define parse.lac, where LAC stands for lookahead # Check the value of %define parse.lac, where LAC stands for lookahead
# correction. # correction.
b4_percent_define_default([[parse.lac]], [[none]]) b4_percent_define_default([[parse.lac]], [[none]])
b4_percent_define_check_values([[[[parse.lac]], [[full]], [[none]]]])
b4_define_flag_if([lac]) b4_define_flag_if([lac])
m4_define([b4_lac_flag], m4_define([b4_lac_flag],
[m4_if(b4_percent_define_get([[parse.lac]]), [m4_if(b4_percent_define_get([[parse.lac]]),
@@ -143,7 +144,7 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param))])])
m4_pushdef([b4_copyright_years], m4_pushdef([b4_copyright_years],
[2002-2015, 2018-2019]) [2002-2015, 2018-2020])
m4_define([b4_parser_class], m4_define([b4_parser_class],
[b4_percent_define_get([[api.parser.class]])]) [b4_percent_define_get([[api.parser.class]])])
@@ -640,7 +641,7 @@ m4_if(b4_prefix, [yy], [],
if (state == empty_state) if (state == empty_state)
return empty_symbol; return empty_symbol;
else else
return yystos_[state]; return yystos_[+state];
} }
]b4_parser_class[::stack_symbol_type::stack_symbol_type () ]b4_parser_class[::stack_symbol_type::stack_symbol_type ()
@@ -866,7 +867,7 @@ b4_dollar_popdef])[]dnl
`-----------*/ `-----------*/
yybackup: yybackup:
// Try to take a decision without lookahead. // Try to take a decision without lookahead.
yyn = yypact_[yystack_[0].state]; yyn = yypact_[+yystack_[0].state];
if (yy_pact_value_is_default_ (yyn)) if (yy_pact_value_is_default_ (yyn))
goto yydefault; goto yydefault;
@@ -921,7 +922,7 @@ b4_dollar_popdef])[]dnl
--yyerrstatus_; --yyerrstatus_;
// Shift the lookahead token. // Shift the lookahead token.
yypush_ ("Shifting", static_cast<state_type> (yyn), YY_MOVE (yyla));]b4_lac_if([[ yypush_ ("Shifting", state_type (yyn), YY_MOVE (yyla));]b4_lac_if([[
yy_lac_discard_ ("shift");]])[ yy_lac_discard_ ("shift");]])[
goto yynewstate; goto yynewstate;
@@ -930,7 +931,7 @@ b4_dollar_popdef])[]dnl
| yydefault -- do the default action for the current state. | | yydefault -- do the default action for the current state. |
`-----------------------------------------------------------*/ `-----------------------------------------------------------*/
yydefault: yydefault:
yyn = yydefact_[yystack_[0].state]; yyn = yydefact_[+yystack_[0].state];
if (yyn == 0) if (yyn == 0)
goto yyerrlab; goto yyerrlab;
goto yyreduce; goto yyreduce;
@@ -1057,7 +1058,7 @@ b4_dollar_popdef])[]dnl
stack_symbol_type error_token; stack_symbol_type error_token;
for (;;) for (;;)
{ {
yyn = yypact_[yystack_[0].state]; yyn = yypact_[+yystack_[0].state];
if (!yy_pact_value_is_default_ (yyn)) if (!yy_pact_value_is_default_ (yyn))
{ {
yyn += yy_error_token_; yyn += yy_error_token_;
@@ -1084,7 +1085,7 @@ b4_dollar_popdef])[]dnl
// Shift the error token.]b4_lac_if([[ // Shift the error token.]b4_lac_if([[
yy_lac_discard_ ("error recovery");]])[ yy_lac_discard_ ("error recovery");]])[
error_token.state = static_cast<state_type> (yyn); error_token.state = state_type (yyn);
yypush_ ("Shifting", YY_MOVE (error_token)); yypush_ ("Shifting", YY_MOVE (error_token));
} }
goto yynewstate; goto yynewstate;
@@ -1166,13 +1167,13 @@ b4_dollar_popdef])[]dnl
state_type top_state = (yylac_stack_.empty () state_type top_state = (yylac_stack_.empty ()
? yystack_[lac_top].state ? yystack_[lac_top].state
: yylac_stack_.back ()); : yylac_stack_.back ());
int yyrule = yypact_[top_state]; int yyrule = yypact_[+top_state];
if (yy_pact_value_is_default_ (yyrule) if (yy_pact_value_is_default_ (yyrule)
|| (yyrule += yytoken) < 0 || yylast_ < yyrule || (yyrule += yytoken) < 0 || yylast_ < yyrule
|| yycheck_[yyrule] != yytoken) || yycheck_[yyrule] != yytoken)
{ {
// Use the default action. // Use the default action.
yyrule = yydefact_[top_state]; yyrule = yydefact_[+top_state];
if (yyrule == 0) if (yyrule == 0)
{ {
YYCDEBUG << " Err\n"; YYCDEBUG << " Err\n";
@@ -1339,13 +1340,13 @@ b4_error_verbose_if([state_type yystate, const symbol_type& yyla],
yyarg[yycount++] = yytname_[yytoken];]b4_lac_if([[ yyarg[yycount++] = yytname_[yytoken];]b4_lac_if([[
#if ]b4_api_PREFIX[DEBUG #if ]b4_api_PREFIX[DEBUG
// Execute LAC once. We don't care if it is succesful, we // Execute LAC once. We don't care if it is successful, we
// only do it for the sake of debugging output. // only do it for the sake of debugging output.
if (!yy_lac_established_) if (!yy_lac_established_)
yy_lac_check_ (yytoken); yy_lac_check_ (yytoken);
#endif]])[ #endif]])[
int yyn = yypact_[yystate]; int yyn = yypact_[+yystate];
if (!yy_pact_value_is_default_ (yyn)) if (!yy_pact_value_is_default_ (yyn))
{]b4_lac_if([[ {]b4_lac_if([[
for (int yyx = 0; yyx < yyntokens_; ++yyx) for (int yyx = 0; yyx < yyntokens_; ++yyx)
+2 -2
View File
@@ -1,6 +1,6 @@
# D skeleton for Bison -*- autoconf -*- # D skeleton for Bison -*- autoconf -*-
# Copyright (C) 2007-2012, 2019 Free Software Foundation, Inc. # Copyright (C) 2007-2012, 2019-2020 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
@@ -20,7 +20,7 @@ m4_include(b4_skeletonsdir/[d.m4])
b4_output_begin([b4_parser_file_name]) b4_output_begin([b4_parser_file_name])
b4_copyright([Skeleton implementation for Bison LALR(1) parsers in D], b4_copyright([Skeleton implementation for Bison LALR(1) parsers in D],
[2007-2012, 2019])[ [2007-2012, 2019-2020])[
]b4_percent_define_ifdef([package], [module b4_percent_define_get([package]); ]b4_percent_define_ifdef([package], [module b4_percent_define_get([package]);
])[ ])[
+52 -51
View File
@@ -1,6 +1,6 @@
# Java skeleton for Bison -*- autoconf -*- # Java skeleton for Bison -*- autoconf -*-
# Copyright (C) 2007-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2007-2015, 2018-2020 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
@@ -65,8 +65,8 @@ m4_define([b4_define_state],[[
int label = YYNEWSTATE; int label = YYNEWSTATE;
/* Error handling. */ /* Error handling. */
int yynerrs_ = 0; int yynerrs_ = 0;]b4_locations_if([[
]b4_locations_if([[/* The location where the error started. */ /* The location where the error started. */
]b4_location_type[ yyerrloc = null; ]b4_location_type[ yyerrloc = null;
/* Location. */ /* Location. */
@@ -78,7 +78,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, 2018-2019])[ [2007-2015, 2018-2020])[
]b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);[ ]b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);[
]])[ ]])[
]b4_user_pre_prologue[ ]b4_user_pre_prologue[
@@ -182,7 +182,7 @@ b4_locations_if([[
]b4_token_enums[ ]b4_token_enums[
]b4_locations_if([[/** ]b4_locations_if([[/**
* Method to retrieve the beginning position of the last scanned token. * Method to retrieve the beginning position of the last scanned token.
* @@return the position at which the last scanned token starts. * @@return the position at which the last scanned token starts.
*/ */
@@ -206,13 +206,13 @@ b4_locations_if([[
* ]b4_locations_if([and beginning/ending positions ])[of the token. * ]b4_locations_if([and beginning/ending positions ])[of the token.
* @@return the token identifier corresponding to the next token. * @@return the token identifier corresponding to the next token.
*/ */
int yylex () ]b4_maybe_throws([b4_lex_throws])[; int yylex ()]b4_maybe_throws([b4_lex_throws])[;
/** /**
* Entry point for error reporting. Emits an error * Entry point for error reporting. Emits an error
* ]b4_locations_if([referring to the given location ])[in a user-defined way. * ]b4_locations_if([referring to the given location ])[in a user-defined way.
* *
* ]b4_locations_if([[@@param loc The location of the element to which the *]b4_locations_if([[ @@param loc The location of the element to which the
* error message is related]])[ * error message is related]])[
* @@param msg The string for the error message. * @@param msg The string for the error message.
*/ */
@@ -224,22 +224,23 @@ b4_locations_if([[
]b4_percent_code_get([[lexer]])[ ]b4_percent_code_get([[lexer]])[
} }
]])[/** ]])[
/**
* The object doing lexical analysis for us. * The object doing lexical analysis for us.
*/ */
private Lexer yylexer; private Lexer yylexer;
]b4_parse_param_vars[ ]b4_parse_param_vars[
]b4_lexer_if([[ ]b4_lexer_if([[
/** /**
* Instantiates the Bison-generated parser. * Instantiates the Bison-generated parser.
*/ */
public ]b4_parser_class (b4_parse_param_decl([b4_lex_param_decl])[) ]b4_maybe_throws([b4_init_throws])[ public ]b4_parser_class (b4_parse_param_decl([b4_lex_param_decl])[)]b4_maybe_throws([b4_init_throws])[
{ {
]b4_percent_code_get([[init]])[ ]b4_percent_code_get([[init]])[
this.yylexer = new YYLexer(]b4_lex_param_call[); this.yylexer = new YYLexer(]b4_lex_param_call[);
]b4_parse_param_cons[ ]b4_parse_param_cons[
} }
]])[ ]])[
@@ -247,11 +248,11 @@ b4_locations_if([[
* Instantiates the Bison-generated parser. * Instantiates the Bison-generated parser.
* @@param yylexer The scanner that will supply tokens to the parser. * @@param yylexer The scanner that will supply tokens to the parser.
*/ */
]b4_lexer_if([[protected]], [[public]]) b4_parser_class[ (]b4_parse_param_decl([[Lexer yylexer]])[) ]b4_maybe_throws([b4_init_throws])[ ]b4_lexer_if([[protected]], [[public]]) b4_parser_class[ (]b4_parse_param_decl([[Lexer yylexer]])[)]b4_maybe_throws([b4_init_throws])[
{ {
]b4_percent_code_get([[init]])[ ]b4_percent_code_get([[init]])[
this.yylexer = yylexer; this.yylexer = yylexer;
]b4_parse_param_cons[ ]b4_parse_param_cons[
} }
]b4_parse_trace_if([[ ]b4_parse_trace_if([[
@@ -320,8 +321,8 @@ b4_locations_if([[
}]])[ }]])[
private final class YYStack { private final class YYStack {
private int[] stateStack = new int[16]; private int[] stateStack = new int[16];]b4_locations_if([[
]b4_locations_if([[private ]b4_location_type[[] locStack = new ]b4_location_type[[16];]])[ private ]b4_location_type[[] locStack = new ]b4_location_type[[16];]])[
private ]b4_yystype[[] valueStack = new ]b4_yystype[[16]; private ]b4_yystype[[] valueStack = new ]b4_yystype[[16];
public int size = 16; public int size = 16;
@@ -334,8 +335,7 @@ b4_locations_if([[
{ {
int[] newStateStack = new int[size * 2]; int[] newStateStack = new int[size * 2];
System.arraycopy (stateStack, 0, newStateStack, 0, height); System.arraycopy (stateStack, 0, newStateStack, 0, height);
stateStack = newStateStack; stateStack = newStateStack;]b4_locations_if([[
]b4_locations_if([[
]b4_location_type[[] newLocStack = new ]b4_location_type[[size * 2]; ]b4_location_type[[] newLocStack = new ]b4_location_type[[size * 2];
System.arraycopy (locStack, 0, newLocStack, 0, height); System.arraycopy (locStack, 0, newLocStack, 0, height);
locStack = newLocStack;]]) locStack = newLocStack;]])
@@ -347,8 +347,8 @@ b4_locations_if([[
size *= 2; size *= 2;
} }
stateStack[height] = state; stateStack[height] = state;]b4_locations_if([[
]b4_locations_if([[locStack[height] = loc;]])[ locStack[height] = loc;]])[
valueStack[height] = value; valueStack[height] = value;
} }
@@ -359,8 +359,8 @@ b4_locations_if([[
public final void pop (int num) { public final void pop (int num) {
// Avoid memory leaks... garbage collection is a white lie! // Avoid memory leaks... garbage collection is a white lie!
if (0 < num) { if (0 < num) {
java.util.Arrays.fill (valueStack, height - num + 1, height + 1, null); java.util.Arrays.fill (valueStack, height - num + 1, height + 1, null);]b4_locations_if([[
]b4_locations_if([[java.util.Arrays.fill (locStack, height - num + 1, height + 1, null);]])[ java.util.Arrays.fill (locStack, height - num + 1, height + 1, null);]])[
} }
height -= num; height -= num;
} }
@@ -368,8 +368,9 @@ b4_locations_if([[
public final int stateAt (int i) { public final int stateAt (int i) {
return stateStack[height - i]; return stateStack[height - i];
} }
]b4_locations_if([[
]b4_locations_if([[public final ]b4_location_type[ locationAt (int i) { public final ]b4_location_type[ locationAt (int i) {
return locStack[height - i]; return locStack[height - i];
} }
@@ -452,7 +453,7 @@ b4_locations_if([[
return yydefgoto_[yysym - yyntokens_]; return yydefgoto_[yysym - yyntokens_];
} }
private int yyaction (int yyn, YYStack yystack, int yylen) ]b4_maybe_throws([b4_throws])[ private int yyaction (int yyn, YYStack yystack, int yylen)]b4_maybe_throws([b4_throws])[
{ {
/* If YYLEN is nonzero, implement the default value of the action: /* If YYLEN is nonzero, implement the default value of the action:
'$$ = $1'. Otherwise, use the top of the stack. '$$ = $1'. Otherwise, use the top of the stack.
@@ -460,8 +461,8 @@ b4_locations_if([[
Otherwise, the following line sets YYVAL to garbage. Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison This behavior is undocumented and Bison
users should not rely upon it. */ users should not rely upon it. */
]b4_yystype[ yyval = (0 < yylen) ? yystack.valueAt (yylen - 1) : yystack.valueAt (0); ]b4_yystype[ yyval = (0 < yylen) ? yystack.valueAt (yylen - 1) : yystack.valueAt (0);]b4_locations_if([[
]b4_locations_if([b4_location_type[ yyloc = yylloc (yystack, yylen);]])[]b4_parse_trace_if([[ ]b4_location_type[ yyloc = yylloc (yystack, yylen);]])[]b4_parse_trace_if([[
yyReducePrint (yyn, yystack);]])[ yyReducePrint (yyn, yystack);]])[
@@ -541,29 +542,28 @@ b4_locations_if([[
* @@return <tt>true</tt> if the parsing succeeds. Note that this does not * @@return <tt>true</tt> if the parsing succeeds. Note that this does not
* imply that there were no syntax errors. * imply that there were no syntax errors.
*/ */
public boolean parse () ]b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])[]])[ public boolean parse ()]b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])[]])[
]b4_push_if([ ]b4_push_if([
/** /**
* Push Parse input from external lexer * Push Parse input from external lexer
* *
* @@param yylextoken current token * @@param yylextoken current token
* @@param yylexval current lval * @@param yylexval current lval]b4_locations_if([[
]b4_locations_if([ * @@param yylexloc current position])[ * @@param yylexloc current position]])[
* *
* @@return <tt>YYACCEPT, YYABORT, YYPUSH_MORE</tt> * @@return <tt>YYACCEPT, YYABORT, YYPUSH_MORE</tt>
*/ */
public int push_parse (int yylextoken, b4_yystype yylexval[]b4_locations_if([, b4_location_type yylexloc])) public int push_parse (int yylextoken, b4_yystype yylexval[]b4_locations_if([, b4_location_type yylexloc]))b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])])[
b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])])[ {]b4_locations_if([[
{ /* @@$. */
]b4_locations_if([/* @@$. */ ]b4_location_type[ yyloc;]])[
b4_location_type yyloc;])[
]b4_push_if([],[[ ]b4_push_if([],[[
]b4_define_state[]b4_parse_trace_if([[ ]b4_define_state[]b4_parse_trace_if([[
yycdebug ("Starting parse\n");]])[ yycdebug ("Starting parse\n");]])[
yyerrstatus_ = 0; yyerrstatus_ = 0;
/* Initialize the stack. */ /* Initialize the stack. */
yystack.push (yystate, yylval ]b4_locations_if([, yylloc])[); yystack.push (yystate, yylval]b4_locations_if([, yylloc])[);
]m4_ifdef([b4_initial_action], [ ]m4_ifdef([b4_initial_action], [
b4_dollar_pushdef([yylval], [], [], [yylloc])dnl b4_dollar_pushdef([yylval], [], [], [yylloc])dnl
b4_user_initial_action b4_user_initial_action
@@ -706,7 +706,8 @@ b4_dollar_popdef[]dnl
yyerror (]b4_locations_if([yylloc, ])[yysyntax_error (yystate, yytoken)); yyerror (]b4_locations_if([yylloc, ])[yysyntax_error (yystate, yytoken));
} }
]b4_locations_if([yyerrloc = yylloc;])[ ]b4_locations_if([[
yyerrloc = yylloc;]])[
if (yyerrstatus_ == 3) if (yyerrstatus_ == 3)
{ {
/* If just tried and failed to reuse lookahead token after an /* If just tried and failed to reuse lookahead token after an
@@ -730,8 +731,8 @@ b4_dollar_popdef[]dnl
/*-------------------------------------------------. /*-------------------------------------------------.
| errorlab -- error raised explicitly by YYERROR. | | errorlab -- error raised explicitly by YYERROR. |
`-------------------------------------------------*/ `-------------------------------------------------*/
case YYERROR: case YYERROR:]b4_locations_if([[
]b4_locations_if([yyerrloc = yystack.locationAt (yylen - 1);])[ yyerrloc = yystack.locationAt (yylen - 1);]])[
/* Do not reclaim the symbols of the rule which action triggered /* Do not reclaim the symbols of the rule which action triggered
this YYERROR. */ this YYERROR. */
yystack.pop (yylen); yystack.pop (yylen);
@@ -765,7 +766,8 @@ b4_dollar_popdef[]dnl
if (yystack.height == 0) if (yystack.height == 0)
]b4_push_if([{label = YYABORT; break;}],[return false;])[ ]b4_push_if([{label = YYABORT; break;}],[return false;])[
]b4_locations_if([yyerrloc = yystack.locationAt (0);])[ ]b4_locations_if([[
yyerrloc = yystack.locationAt (0);]])[
yystack.pop (); yystack.pop ();
yystate = yystack.stateAt (0);]b4_parse_trace_if([[ yystate = yystack.stateAt (0);]b4_parse_trace_if([[
if (0 < yydebug) if (0 < yydebug)
@@ -776,12 +778,12 @@ b4_dollar_popdef[]dnl
/* Leave the switch. */ /* Leave the switch. */
break; break;
]b4_locations_if([ ]b4_locations_if([[
/* Muck with the stack to setup for yylloc. */ /* Muck with the stack to setup for yylloc. */
yystack.push (0, null, yylloc); yystack.push (0, null, yylloc);
yystack.push (0, null, yyerrloc); yystack.push (0, null, yyerrloc);
yyloc = yylloc (yystack, 2); yyloc = yylloc (yystack, 2);
yystack.pop (2);])[ yystack.pop (2);]])[
/* Shift the error token. */]b4_parse_trace_if([[ /* Shift the error token. */]b4_parse_trace_if([[
yySymbolPrint ("Shifting", yystos_[yyn], yySymbolPrint ("Shifting", yystos_[yyn],
@@ -823,10 +825,10 @@ b4_dollar_popdef[]dnl
this.label = YYNEWSTATE; this.label = YYNEWSTATE;
/* Error handling. */ /* Error handling. */
this.yynerrs_ = 0; this.yynerrs_ = 0;]b4_locations_if([[
]b4_locations_if([/* The location where the error started. */ /* The location where the error started. */
this.yyerrloc = null; this.yyerrloc = null;
this.yylloc = new b4_location_type (null, null);])[ this.yylloc = new ]b4_location_type[ (null, null);]])[
/* Semantic value of the lookahead. */ /* Semantic value of the lookahead. */
this.yylval = null; this.yylval = null;
@@ -846,8 +848,7 @@ b4_dollar_popdef[]dnl
* *
* @@return <tt>YYACCEPT, YYABORT, YYPUSH_MORE</tt> * @@return <tt>YYACCEPT, YYABORT, YYPUSH_MORE</tt>
*/ */
public int push_parse (int yylextoken, b4_yystype yylexval, b4_position_type yylexpos) public int push_parse (int yylextoken, b4_yystype yylexval, b4_position_type yylexpos)b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])
b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])
{ {
return push_parse (yylextoken, yylexval, new b4_location_type (yylexpos)); return push_parse (yylextoken, yylexval, new b4_location_type (yylexpos));
} }
@@ -862,7 +863,7 @@ b4_dollar_popdef[]dnl
* @@return <tt>true</tt> if the parsing succeeds. Note that this does not * @@return <tt>true</tt> if the parsing succeeds. Note that this does not
* imply that there were no syntax errors. * imply that there were no syntax errors.
*/ */
public boolean parse () ]b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])[ public boolean parse ()]b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])[
{ {
if (yylexer == null) if (yylexer == null)
throw new NullPointerException("Null Lexer"); throw new NullPointerException("Null Lexer");
@@ -872,9 +873,9 @@ b4_dollar_popdef[]dnl
]b4_yystype[ lval = yylexer.getLVal(); ]b4_yystype[ lval = yylexer.getLVal();
]b4_locations_if([dnl ]b4_locations_if([dnl
b4_location_type yyloc = new b4_location_type (yylexer.getStartPos (), b4_location_type yyloc = new b4_location_type (yylexer.getStartPos (),
yylexer.getEndPos ());])[ yylexer.getEndPos ());])[]b4_locations_if([[
]b4_locations_if([status = push_parse(token,lval,yyloc);],[ status = push_parse(token,lval,yyloc);]], [[
status = push_parse(token,lval);])[ status = push_parse(token,lval);]])[
} while (status == YYPUSH_MORE); } while (status == YYPUSH_MORE);
return (status == YYACCEPT); return (status == YYACCEPT);
} }
+2 -2
View File
@@ -1,6 +1,6 @@
# C++ skeleton for Bison # C++ skeleton for Bison
# Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2002-2015, 2018-2020 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, 2018-2019]) [2002-2015, 2018-2020])
# b4_position_file # b4_position_file
+1 -1
View File
@@ -1,6 +1,6 @@
# C++ skeleton for Bison # C++ skeleton for Bison
# Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2002-2015, 2018-2020 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 -1
View File
@@ -1,6 +1,6 @@
# C++ skeleton for Bison # C++ skeleton for Bison
# Copyright (C) 2002-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2002-2015, 2018-2020 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
+8 -8
View File
@@ -1,11 +1,11 @@
# -*- C -*- # -*- C -*-
# Yacc compatible skeleton for Bison # Yacc compatible skeleton for Bison
# Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software # Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software
# Foundation, Inc. # Foundation, Inc.
m4_pushdef([b4_copyright_years], m4_pushdef([b4_copyright_years],
[1984, 1989-1990, 2000-2015, 2018-2019]) [1984, 1989-1990, 2000-2015, 2018-2020])
# 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
@@ -673,7 +673,7 @@ static const ]b4_int_type_for([b4_toknum])[ yytoknum[] =
/* Error token number */ /* Error token number */
#define YYTERROR 1 #define YYTERROR 1
#define YYERRCODE 256 #define YYERRCODE ]b4_symbol(1, user_number)[
]b4_locations_if([[ ]b4_locations_if([[
]b4_yylloc_default_define[ ]b4_yylloc_default_define[
@@ -755,7 +755,7 @@ do { \
{ {
YYFPRINTF (stderr, " $%d = ", yyi + 1); YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yy_symbol_print (stderr,
yystos[yyssp[yyi + 1 - yynrhs]], yystos[+yyssp[yyi + 1 - yynrhs]],
&]b4_rhs_value(yynrhs, yyi + 1)[ &]b4_rhs_value(yynrhs, yyi + 1)[
]b4_locations_if([, &]b4_rhs_location(yynrhs, yyi + 1))[]dnl ]b4_locations_if([, &]b4_rhs_location(yynrhs, yyi + 1))[]dnl
b4_user_args[); b4_user_args[);
@@ -955,12 +955,12 @@ yy_lac (yy_state_t *yyesa, yy_state_t **yyes,
} }
while (1) while (1)
{ {
int yyrule = yypact[*yyesp]; int yyrule = yypact[+*yyesp];
if (yypact_value_is_default (yyrule) if (yypact_value_is_default (yyrule)
|| (yyrule += yytoken) < 0 || YYLAST < yyrule || (yyrule += yytoken) < 0 || YYLAST < yyrule
|| yycheck[yyrule] != yytoken) || yycheck[yyrule] != yytoken)
{ {
yyrule = yydefact[*yyesp]; yyrule = yydefact[+*yyesp];
if (yyrule == 0) if (yyrule == 0)
{ {
YYDPRINTF ((stderr, " Err\n")); YYDPRINTF ((stderr, " Err\n"));
@@ -1184,7 +1184,7 @@ yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
*/ */
if (yytoken != YYEMPTY) if (yytoken != YYEMPTY)
{ {
int yyn = yypact[*yyssp]; int yyn = yypact[+*yyssp];
YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
yysize = yysize0;]b4_lac_if([[ yysize = yysize0;]b4_lac_if([[
YYDPRINTF ((stderr, "Constructing syntax error message\n"));]])[ YYDPRINTF ((stderr, "Constructing syntax error message\n"));]])[
@@ -1940,7 +1940,7 @@ yyreturn:
while (yyssp != yyss) while (yyssp != yyss)
{ {
yydestruct ("Cleanup: popping", yydestruct ("Cleanup: popping",
yystos[*yyssp], yyvsp]b4_locations_if([, yylsp])[]b4_user_args[); yystos[+*yyssp], yyvsp]b4_locations_if([, yylsp])[]b4_user_args[);
YYPOPSTACK (1); YYPOPSTACK (1);
} }
#ifndef yyoverflow #ifndef yyoverflow
+1 -1
View File
@@ -3,7 +3,7 @@
<!-- <!--
bison.xsl - common templates for Bison XSLT. bison.xsl - common templates for Bison XSLT.
Copyright (C) 2007-2015, 2018-2019 Free Software Foundation, Inc. Copyright (C) 2007-2015, 2018-2020 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 -1
View File
@@ -3,7 +3,7 @@
<!-- <!--
xml2dot.xsl - transform Bison XML Report into DOT. xml2dot.xsl - transform Bison XML Report into DOT.
Copyright (C) 2007-2015, 2018-2019 Free Software Foundation, Inc. Copyright (C) 2007-2015, 2018-2020 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 -1
View File
@@ -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, 2018-2019 Free Software Foundation, Inc. Copyright (C) 2007-2015, 2018-2020 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 -1
View File
@@ -3,7 +3,7 @@
<!-- <!--
xml2html.xsl - transform Bison XML Report into XHTML. xml2html.xsl - transform Bison XML Report into XHTML.
Copyright (C) 2007-2015, 2018-2019 Free Software Foundation, Inc. Copyright (C) 2007-2015, 2018-2020 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
View File
@@ -16,6 +16,7 @@
/bison.help /bison.help
/bison.html /bison.html
/bison.info /bison.info
/bison.info.bak
/bison.log /bison.log
/bison.pdf /bison.pdf
/bison.ps /bison.ps
+368 -186
View File
File diff suppressed because it is too large Load Diff
+71 -68
View File
@@ -79,7 +79,7 @@
This manual (@value{UPDATED}) is for GNU Bison (version @value{VERSION}), This manual (@value{UPDATED}) is for GNU Bison (version @value{VERSION}),
the GNU parser generator. the GNU parser generator.
Copyright @copyright{} 1988-1993, 1995, 1998-2015, 2018-2019 Free Copyright @copyright{} 1988--1993, 1995, 1998--2015, 2018--2020 Free
Software Foundation, Inc. Software Foundation, Inc.
@quotation @quotation
@@ -5841,7 +5841,10 @@ states and what is done for each type of lookahead token in that state.
@deffn {Directive} %yacc @deffn {Directive} %yacc
Pretend the option @option{--yacc} was given, i.e., imitate Yacc, including Pretend the option @option{--yacc} was given, i.e., imitate Yacc, including
its naming conventions. @xref{Tuning the Parser}, for more. its naming conventions. Only makes sense with the @file{yacc.c}
skeleton. @xref{Tuning the Parser}, for more.
Of course @code{%yacc} is a Bison extension@dots{}
@end deffn @end deffn
@@ -9971,10 +9974,30 @@ When a Bison grammar compiles properly but parses ``incorrectly'', the
@node Enabling Traces @node Enabling Traces
@subsection Enabling Traces @subsection Enabling Traces
There are several means to enable compilation of trace facilities: There are several means to enable compilation of trace facilities, in
decreasing order of preference:
@table @asis @table @asis
@item the macro @code{YYDEBUG} @item the variable @samp{parse.trace}
@findex %define parse.trace
Add the @samp{%define parse.trace} directive (@pxref{%define
Summary,,parse.trace}), or pass the @option{-Dparse.trace} option
(@pxref{Tuning the Parser}). This is a Bison extension. Unless POSIX and
Yacc portability matter to you, this is the preferred solution.
@item the option @option{-t} (POSIX Yacc compliant)
@itemx the option @option{--debug} (Bison extension)
Use the @samp{-t} option when you run Bison (@pxref{Invocation, ,Invoking
Bison}). With @samp{%define api.prefix @{c@}}, it defines @code{CDEBUG} to
1, otherwise it defines @code{YYDEBUG} to 1.
@item the directive @samp{%debug} (deprecated)
@findex %debug
Add the @code{%debug} directive (@pxref{Decl Summary, ,Bison Declaration
Summary}). This Bison extension is maintained for backward compatibility
with previous versions of Bison; use @code{%define parse.trace} instead.
@item the macro @code{YYDEBUG} (C/C++ only)
@findex YYDEBUG @findex YYDEBUG
Define the macro @code{YYDEBUG} to a nonzero value when you compile the Define the macro @code{YYDEBUG} to a nonzero value when you compile the
parser. This is compliant with POSIX Yacc. You could use parser. This is compliant with POSIX Yacc. You could use
@@ -9984,87 +10007,66 @@ Prologue}).
If the @code{%define} variable @code{api.prefix} is used (@pxref{Multiple If the @code{%define} variable @code{api.prefix} is used (@pxref{Multiple
Parsers, ,Multiple Parsers in the Same Program}), for instance @samp{%define Parsers, ,Multiple Parsers in the Same Program}), for instance @samp{%define
api.prefix x}, then if @code{CDEBUG} is defined, its value controls the api.prefix @{c@}}, then if @code{CDEBUG} is defined, its value controls the
tracing feature (enabled if and only if nonzero); otherwise tracing is tracing feature (enabled if and only if nonzero); otherwise tracing is
enabled if and only if @code{YYDEBUG} is nonzero. enabled if and only if @code{YYDEBUG} is nonzero.
@item the option @option{-t} (POSIX Yacc compliant)
@itemx the option @option{--debug} (Bison extension)
Use the @samp{-t} option when you run Bison (@pxref{Invocation, ,Invoking
Bison}). With @samp{%define api.prefix @{c@}}, it defines @code{CDEBUG} to 1,
otherwise it defines @code{YYDEBUG} to 1.
@item the directive @samp{%debug}
@findex %debug
Add the @code{%debug} directive (@pxref{Decl Summary, ,Bison Declaration
Summary}). This Bison extension is maintained for backward
compatibility with previous versions of Bison.
@item the variable @samp{parse.trace}
@findex %define parse.trace
Add the @samp{%define parse.trace} directive (@pxref{%define
Summary,,parse.trace}), or pass the @option{-Dparse.trace} option
(@pxref{Tuning the Parser}). This is a Bison extension, which is especially
useful for languages that don't use a preprocessor. Unless POSIX and Yacc
portability matter to you, this is the preferred solution.
@end table @end table
We suggest that you always enable the trace option so that debugging is We suggest that you always enable the trace option so that debugging is
always possible. always possible.
@findex YYFPRINTF @findex YYFPRINTF
The trace facility outputs messages with macro calls of the form In C the trace facility outputs messages with macro calls of the form
@code{YYFPRINTF (stderr, @var{format}, @var{args})} where @code{YYFPRINTF (stderr, @var{format}, @var{args})} where @var{format} and
@var{format} and @var{args} are the usual @code{printf} format and variadic @var{args} are the usual @code{printf} format and variadic arguments. If
arguments. If you define @code{YYDEBUG} to a nonzero value but do not you define @code{YYDEBUG} to a nonzero value but do not define
define @code{YYFPRINTF}, @code{<stdio.h>} is automatically included @code{YYFPRINTF}, @code{<stdio.h>} is automatically included and
and @code{YYFPRINTF} is defined to @code{fprintf}. @code{YYFPRINTF} is defined to @code{fprintf}.
Once you have compiled the program with trace facilities, the way to Once you have compiled the program with trace facilities, the way to request
request a trace is to store a nonzero value in the variable @code{yydebug}. a trace is to store a nonzero value in the variable @code{yydebug}. You can
You can do this by making the C code do it (in @code{main}, perhaps), or do this by making the C code do it (in @code{main}, perhaps), or you can
you can alter the value with a C debugger. alter the value with a C debugger.
Each step taken by the parser when @code{yydebug} is nonzero produces a Each step taken by the parser when @code{yydebug} is nonzero produces a line
line or two of trace information, written on @code{stderr}. The trace or two of trace information, written on @code{stderr}. The trace messages
messages tell you these things: tell you these things:
@itemize @bullet @itemize @bullet
@item @item
Each time the parser calls @code{yylex}, what kind of token was read. Each time the parser calls @code{yylex}, what kind of token was read.
@item @item
Each time a token is shifted, the depth and complete contents of the Each time a token is shifted, the depth and complete contents of the state
state stack (@pxref{Parser States}). stack (@pxref{Parser States}).
@item @item
Each time a rule is reduced, which rule it is, and the complete contents Each time a rule is reduced, which rule it is, and the complete contents of
of the state stack afterward. the state stack afterward.
@end itemize @end itemize
To make sense of this information, it helps to refer to the automaton To make sense of this information, it helps to refer to the automaton
description file (@pxref{Understanding, ,Understanding Your Parser}). description file (@pxref{Understanding, ,Understanding Your Parser}). This
This file shows the meaning of each state in terms of file shows the meaning of each state in terms of positions in various rules,
positions in various rules, and also what each state will do with each and also what each state will do with each possible input token. As you
possible input token. As you read the successive trace messages, you read the successive trace messages, you can see that the parser is
can see that the parser is functioning according to its specification in functioning according to its specification in the listing file. Eventually
the listing file. Eventually you will arrive at the place where you will arrive at the place where something undesirable happens, and you
something undesirable happens, and you will see which parts of the will see which parts of the grammar are to blame.
grammar are to blame.
The parser implementation file is a C/C++/Java program and you can use The parser implementation file is a C/C++/Java program and you can use
debuggers on it, but it's not easy to interpret what it is doing. The debuggers on it, but it's not easy to interpret what it is doing. The
parser function is a finite-state machine interpreter, and aside from parser function is a finite-state machine interpreter, and aside from the
the actions it executes the same code over and over. Only the values actions it executes the same code over and over. Only the values of
of variables show where in the grammar it is working. variables show where in the grammar it is working.
@node Mfcalc Traces @node Mfcalc Traces
@subsection Enabling Debug Traces for @code{mfcalc} @subsection Enabling Debug Traces for @code{mfcalc}
The debugging information normally gives the token type of each token read, The debugging information normally gives the token type of each token read,
but not its semantic value. The @code{%printer} directive allows specify but not its semantic value. The @code{%printer} directive allows specify
how semantic values are reported, see @ref{Printer Decl, , Printing how semantic values are reported, see @ref{Printer Decl, , Printing Semantic
Semantic Values}. Values}.
As a demonstration of @code{%printer}, consider the multi-function As a demonstration of @code{%printer}, consider the multi-function
calculator, @code{mfcalc} (@pxref{Multi-function Calc}). To enable run-time calculator, @code{mfcalc} (@pxref{Multi-function Calc}). To enable run-time
@@ -10229,7 +10231,7 @@ Cleanup: popping nterm input ()
@subsection The @code{YYPRINT} Macro @subsection The @code{YYPRINT} Macro
@findex YYPRINT @findex YYPRINT
The @code{%printer} directive was introduced in Bison 1.50 (Novembre 2002). The @code{%printer} directive was introduced in Bison 1.50 (November 2002).
Before then, @code{YYPRINT} provided a similar feature, but only for Before then, @code{YYPRINT} provided a similar feature, but only for
terminal symbols and only with the @file{yacc.c} skeleton. terminal symbols and only with the @file{yacc.c} skeleton.
@@ -10858,11 +10860,10 @@ different diagnostics to be generated (it implies @option{-Wyacc}), and may
change behavior in other minor ways. Most importantly, imitate Yacc's change behavior in other minor ways. Most importantly, imitate Yacc's
output file name conventions, so that the parser implementation file is output file name conventions, so that the parser implementation file is
called @file{y.tab.c}, and the other outputs are called @file{y.output} and called @file{y.tab.c}, and the other outputs are called @file{y.output} and
@file{y.tab.h}. Also, if generating a deterministic parser in C, generate @file{y.tab.h}. Also, generate @code{#define} statements in addition to an
@code{#define} statements in addition to an @code{enum} to associate token @code{enum} to associate token numbers with token names. Thus, the
numbers with token names. Thus, the following shell script can substitute following shell script can substitute for Yacc, and the Bison distribution
for Yacc, and the Bison distribution contains such a script for contains such a script for compatibility with POSIX:
compatibility with POSIX:
@example @example
#! /bin/sh #! /bin/sh
@@ -10870,9 +10871,9 @@ bison -y "$@@"
@end example @end example
The @option{-y}/@option{--yacc} option is intended for use with traditional The @option{-y}/@option{--yacc} option is intended for use with traditional
Yacc grammars. If your grammar uses Bison extensions like Yacc grammars. This option only makes sense for the default C skeleton,
@samp{%glr-parser}, Bison might not be Yacc-compatible even if this option @file{yacc.c}. If your grammar uses Bison extensions Bison cannot be
is specified. Yacc-compatible, even if this option is specified.
@end table @end table
@node Output Files @node Output Files
@@ -14169,7 +14170,7 @@ it. Using @samp{%define parse.error verbose} is preferred
@end deffn @end deffn
@deffn {Macro} YYFPRINTF @deffn {Macro} YYFPRINTF
Macro used to output run-time traces. Macro used to output run-time traces in C.
@xref{Enabling Traces}. @xref{Enabling Traces}.
@end deffn @end deffn
@@ -14605,7 +14606,7 @@ London, Department of Computer Science, TR-00-12 (December 2000).
@c LocalWords: strncmp intval tindex lvalp locp llocp typealt YYBACKUP subrange @c LocalWords: strncmp intval tindex lvalp locp llocp typealt YYBACKUP subrange
@c LocalWords: YYEMPTY YYEOF YYRECOVERING yyclearin GE def UMINUS maybeword loc @c LocalWords: YYEMPTY YYEOF YYRECOVERING yyclearin GE def UMINUS maybeword loc
@c LocalWords: Johnstone Shamsa Sadaf Hussain Tomita TR uref YYMAXDEPTH inline @c LocalWords: Johnstone Shamsa Sadaf Hussain Tomita TR uref YYMAXDEPTH inline
@c LocalWords: YYINITDEPTH stmts ref initdcl maybeasm notype Lookahead @c LocalWords: YYINITDEPTH stmts ref initdcl maybeasm notype Lookahead ctx
@c LocalWords: hexflag STR exdent itemset asis DYYDEBUG YYFPRINTF args Autoconf @c LocalWords: hexflag STR exdent itemset asis DYYDEBUG YYFPRINTF args Autoconf
@c LocalWords: ypp yxx itemx tex leaderfill Troubleshouting sqrt Graphviz @c LocalWords: ypp yxx itemx tex leaderfill Troubleshouting sqrt Graphviz
@c LocalWords: hbox hss hfill tt ly yyin fopen fclose ofirst gcc ll lookahead @c LocalWords: hbox hss hfill tt ly yyin fopen fclose ofirst gcc ll lookahead
@@ -14649,10 +14650,12 @@ London, Department of Computer Science, TR-00-12 (December 2000).
@c LocalWords: Relocatability exprs fixit Wyacc parseable fixits ffixit svg @c LocalWords: Relocatability exprs fixit Wyacc parseable fixits ffixit svg
@c LocalWords: DNDEBUG cstring Wzero workalike POPL workalikes byacc UCB @c LocalWords: DNDEBUG cstring Wzero workalike POPL workalikes byacc UCB
@c LocalWords: Penello's Penello Byson Byson's Corbett's CSD TOPLAS PDP @c LocalWords: Penello's Penello Byson Byson's Corbett's CSD TOPLAS PDP
@c LocalWords: Beazley's goyacc ocamlyacc SIGACT SIGPLAN colorWarning @c LocalWords: Beazley's goyacc ocamlyacc SIGACT SIGPLAN colorWarning exVal
@c LocalWords: setcolor rgbError colorError rgbNotice colorNotice derror @c LocalWords: setcolor rgbError colorError rgbNotice colorNotice derror
@c LocalWords: colorOff maincolor inlineraw darkviolet darkcyan dwarning @c LocalWords: colorOff maincolor inlineraw darkviolet darkcyan dwarning
@c LocalWords: dnotice copyable stdint ptrdiff bufsize @c LocalWords: dnotice copyable stdint ptrdiff bufsize yyreport invariants
@c LocalWords: xrefautomaticsectiontitle yysyntax yysymbol ARGMAX cond
@c LocalWords: Wdangling
@c Local Variables: @c Local Variables:
@c ispell-dictionary: "american" @c ispell-dictionary: "american"
+1 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2001-2003, 2005-2015, 2018-2019 Free Software ## Copyright (C) 2001-2003, 2005-2015, 2018-2020 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 -1
View File
@@ -19,7 +19,7 @@
\def\finalout{\overfullrule=0pt} \def\finalout{\overfullrule=0pt}
%\finalout %\finalout
% Copyright (c) 1998, 2001, 2009-2015, 2018-2019 Free Software % Copyright (c) 1998, 2001, 2009--2015, 2018--2020 Free Software
% Foundation, Inc. % Foundation, Inc.
% %
% This file is part of Bison. % This file is part of Bison.
+1 -1
View File
@@ -16,7 +16,7 @@ straightforward use of _build/src/bison would.)
-- --
Copyright (C) 2006, 2009-2015, 2018-2019 Free Software Foundation, Inc. Copyright (C) 2006, 2009-2015, 2018-2020 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler. This file is part of Bison, the GNU Compiler Compiler.
+2 -2
View File
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w #! /usr/bin/perl -w
# Copyright (C) 2006, 2008-2015, 2018-2019 Free Software Foundation, # Copyright (C) 2006, 2008-2015, 2018-2020 Free Software Foundation,
# Inc. # Inc.
# #
# This file is part of Bison, the GNU Compiler Compiler. # This file is part of Bison, the GNU Compiler Compiler.
@@ -100,7 +100,7 @@ Artificial grammar with very long rules.
=item B<-h>, B<--help> =item B<-h>, B<--help>
Display this message and exit succesfully. The more verbose, the more Display this message and exit successfully. The more verbose, the more
details. details.
=item B<-i>, B<--iterations>=I<integer> =item B<-i>, B<--iterations>=I<integer>
+1 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2006, 2008-2015, 2018-2019 Free Software Foundation, ## Copyright (C) 2006, 2008-2015, 2018-2020 Free Software Foundation,
## Inc. ## 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 -1
View File
@@ -17,7 +17,7 @@ fill-column: 76
ispell-dictionary: "american" ispell-dictionary: "american"
End: End:
Copyright (C) 2018-2019 Free Software Foundation, Inc. Copyright (C) 2018-2020 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
+2 -2
View File
@@ -46,7 +46,7 @@ fill-column: 76
ispell-dictionary: "american" ispell-dictionary: "american"
End: End:
Copyright (C) 2018-2019 Free Software Foundation, Inc. Copyright (C) 2018-2020 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -55,5 +55,5 @@ Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the "GNU Free Texts. A copy of the license is included in the "GNU Free
Documentation License" file as part of this distribution. Documentation License" file as part of this distribution.
# LocalWords: mfcalc calc parsers yy ispell american LocalWords: mfcalc calc parsers yy ispell american
---> --->
+8 -16
View File
@@ -36,22 +36,14 @@ fill-column: 76
ispell-dictionary: "american" ispell-dictionary: "american"
End: End:
Copyright (C) 2018-2019 Free Software Foundation, Inc. Copyright (C) 2018-2020 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler. Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the "GNU Free
Documentation License" file as part of this distribution.
This program is free software: you can redistribute it and/or modify LocalWords: calc parsers yy MERCHANTABILITY Ctrl ispell american
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/>.
# LocalWords: calc parsers yy MERCHANTABILITY Ctrl ispell american
---> --->
+1 -1
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Copyright (C) 2005-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2005-2015, 2018-2020 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 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2005-2006, 2008-2015, 2018-2019 Free Software ## Copyright (C) 2005-2006, 2008-2015, 2018-2020 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 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2018-2019 Free Software Foundation, Inc. ## Copyright (C) 2018-2020 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 -1
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Copyright (C) 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2018-2020 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 -1
View File
@@ -1,5 +1,5 @@
/* /*
Copyright (C) 2008-2015, 2018-2019 Free Software Foundation, Inc. Copyright (C) 2008-2015, 2018-2020 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 -1
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Copyright (C) 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2018-2020 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 -1
View File
@@ -1,5 +1,5 @@
/* /*
Copyright (C) 2008-2015, 2018-2019 Free Software Foundation, Inc. Copyright (C) 2008-2015, 2018-2020 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 -1
View File
@@ -45,7 +45,9 @@ fill-column: 76
ispell-dictionary: "american" ispell-dictionary: "american"
End: End:
Copyright (C) 2018-2019 Free Software Foundation, Inc. Copyright (C) 2018-2020 Free Software Foundation, Inc.
This file is part of GNU bison, the GNU Compiler Compiler.
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
+7 -12
View File
@@ -9,20 +9,15 @@ fill-column: 76
ispell-dictionary: "american" ispell-dictionary: "american"
End: End:
Copyright (C) 2019 Free Software Foundation, Inc. Copyright (C) 2019-2020 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler. This file is part of Bison, the GNU Compiler Compiler.
This program is free software: you can redistribute it and/or modify Permission is granted to copy, distribute and/or modify this document
it under the terms of the GNU General Public License as published by under the terms of the GNU Free Documentation License, Version 1.3 or
the Free Software Foundation, either version 3 of the License, or any later version published by the Free Software Foundation; with no
(at your option) any later version. Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the "GNU Free
Documentation License" file as part of this distribution.
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/>.
---> --->
+1 -1
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Copyright (C) 2019 Free Software Foundation, Inc. # Copyright (C) 2019-2020 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 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2019 Free Software Foundation, Inc. ## Copyright (C) 2019-2020 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 -13
View File
@@ -9,20 +9,14 @@ fill-column: 76
ispell-dictionary: "american" ispell-dictionary: "american"
End: End:
Copyright (C) 2018-2019 Free Software Foundation, Inc. Copyright (C) 2018-2020 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler. This file is part of Bison, the GNU Compiler Compiler.
This program is free software: you can redistribute it and/or modify Permission is granted to copy, distribute and/or modify this document
it under the terms of the GNU General Public License as published by under the terms of the GNU Free Documentation License, Version 1.3 or
the Free Software Foundation, either version 3 of the License, or any later version published by the Free Software Foundation; with no
(at your option) any later version. Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the "GNU Free
This program is distributed in the hope that it will be useful, Documentation License" file as part of this distribution.
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/>.
---> --->
+1 -1
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Copyright (C) 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2018-2020 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 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2018-2019 Free Software Foundation, Inc. ## Copyright (C) 2018-2020 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 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2018-2019 Free Software Foundation, Inc. ## Copyright (C) 2018-2020 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 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2005-2006, 2008-2015, 2018-2019 Free Software ## Copyright (C) 2005-2006, 2008-2015, 2018-2020 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 -1
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Copyright (C) 2005-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2005-2015, 2018-2020 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 -14
View File
@@ -26,20 +26,13 @@ fill-column: 76
ispell-dictionary: "american" ispell-dictionary: "american"
End: End:
Copyright (C) 2018-2019 Free Software Foundation, Inc. Copyright (C) 2018-2020 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler. Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the "GNU Free
Documentation License" file as part of this distribution.
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/>.
---> --->
+1 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2019 Free Software Foundation, Inc. ## Copyright (C) 2019-2020 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 -1
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Copyright (C) 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2018-2020 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
@@ -15,6 +15,8 @@
# 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/>.
seq 0 >/dev/null || exit 77
cat >input <<EOF cat >input <<EOF
1+2*3 1+2*3
EOF EOF
+1 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2005-2006, 2008-2015, 2018-2019 Free Software ## Copyright (C) 2005-2006, 2008-2015, 2018-2020 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 -1
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Copyright (C) 2005-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2005-2015, 2018-2020 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 -1
View File
@@ -15,7 +15,7 @@ fill-column: 76
ispell-dictionary: "american" ispell-dictionary: "american"
End: End:
Copyright (C) 2018-2019 Free Software Foundation, Inc. Copyright (C) 2018-2020 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
+1 -1
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Copyright (C) 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2018-2020 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 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2018-2019 Free Software Foundation, Inc. ## Copyright (C) 2018-2020 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 -1
View File
@@ -3,7 +3,7 @@
# This file is part of GNU Bison # This file is part of GNU Bison
# Copyright (C) 1992, 2000-2001, 2005-2006, 2009-2015, 2018-2019 Free # Copyright (C) 1992, 2000-2001, 2005-2006, 2009-2015, 2018-2020 Free
# Software 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
+1 -1
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Copyright (C) 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2018-2020 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 -1
View File
@@ -16,7 +16,7 @@ fill-column: 76
ispell-dictionary: "american" ispell-dictionary: "american"
End: End:
Copyright (C) 2018-2019 Free Software Foundation, Inc. Copyright (C) 2018-2020 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
+1 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2018-2019 Free Software Foundation, Inc. ## Copyright (C) 2018-2020 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 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2005, 2008-2015, 2018-2019 Free Software Foundation, ## Copyright (C) 2005, 2008-2015, 2018-2020 Free Software Foundation,
## Inc. ## 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
+15 -15
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Copyright (C) 2005-2015, 2018-2019 Free Software Foundation, Inc. # Copyright (C) 2005-2015, 2018-2020 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
@@ -31,18 +31,18 @@ exit=true
cwd=$(pwd) cwd=$(pwd)
# The exercised program. # The exercised program.
for p in "$cwd/examples/$medir/$me" abs_medir=$cwd/examples/$medir
do if test -x "$abs_medir/$me"; then
if test -x "$p"; then prog ()
prog=$p {
break "$abs_medir/$me" "$@"
elif test -f "$p.class"; then }
pwd elif test -f "$abs_medir/$me.class"; then
prog="$SHELL $cwd/javaexec.sh -cp $(dirname $p) $(basename $p)" prog ()
break {
fi "$SHELL" "$cwd/javaexec.sh" -cp "$abs_medir" "$me" "$@"
done }
if test x"$prog" = x; then else
echo "$me: ERROR: cannot find program to exercise in:" echo "$me: ERROR: cannot find program to exercise in:"
echo "$me: ERROR: $cwd/examples/$medir/$me" echo "$me: ERROR: $cwd/examples/$medir/$me"
exit 1 exit 1
@@ -55,7 +55,7 @@ cleanup ()
{ {
status=$? status=$?
if test -z "$DEBUG"; then if test -z "$DEBUG"; then
cd $cwd cd "$cwd"
rm -rf $$.dir rm -rf $$.dir
fi fi
exit $status exit $status
@@ -82,7 +82,7 @@ run ()
shift shift
# Effective exit status. # Effective exit status.
sta_eff=0 sta_eff=0
$prog "$@" - <input >out_eff 2>err_eff || sta_eff=$? prog "$@" - <input >out_eff 2>err_eff || sta_eff=$?
# Combine effective output and error streams. # Combine effective output and error streams.
out_eff=$(cat out_eff && $noerr || sed -e 's/^/err: /g' err_eff) out_eff=$(cat out_eff && $noerr || sed -e 's/^/err: /g' err_eff)
if test $sta_eff -eq $sta_exp; then if test $sta_eff -eq $sta_exp; then
+1 -1
Submodule gnulib updated: b943dd6649...d279bc6d9f
+13
View File
@@ -138,13 +138,19 @@
/isnanl-nolibm.h /isnanl-nolibm.h
/isnanl.c /isnanl.c
/iswblank.c /iswblank.c
/iswdigit.c
/iswxdigit.c
/itold.c /itold.c
/lc-charset-dispatch.c
/lc-charset-dispatch.h
/ldexpl.c /ldexpl.c
/libc-config.h /libc-config.h
/limits.h /limits.h
/limits.in.h /limits.in.h
/localcharset.c /localcharset.c
/localcharset.h /localcharset.h
/locale.h
/locale.in.h
/localtime-buffer.c /localtime-buffer.c
/localtime-buffer.h /localtime-buffer.h
/lstat.c /lstat.c
@@ -158,10 +164,14 @@
/mbchar.h /mbchar.h
/mbfile.c /mbfile.c
/mbfile.h /mbfile.h
/mbrtowc-impl-utf8.h
/mbrtowc-impl.h
/mbrtowc.c /mbrtowc.c
/mbsinit.c /mbsinit.c
/mbswidth.c /mbswidth.c
/mbswidth.h /mbswidth.h
/mbtowc-lock.c
/mbtowc-lock.h
/memchr.c /memchr.c
/memchr.valgrind /memchr.valgrind
/minmax.h /minmax.h
@@ -209,6 +219,9 @@
/sched.h /sched.h
/sched.in.h /sched.in.h
/setenv.c /setenv.c
/setlocale-lock.c
/setlocale_null.c
/setlocale_null.h
/sig-handler.c /sig-handler.c
/sig-handler.h /sig-handler.h
/sigaction.c /sigaction.c
+1 -1
View File
@@ -1,6 +1,6 @@
/* get-errno.c - get and set errno. /* get-errno.c - get and set errno.
Copyright (C) 2002, 2006, 2009-2015, 2018-2019 Free Software Copyright (C) 2002, 2006, 2009-2015, 2018-2020 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 -1
View File
@@ -1,6 +1,6 @@
/* get-errno.h - get and set errno. /* get-errno.h - get and set errno.
Copyright (C) 2002, 2009-2015, 2018-2019 Free Software Foundation, Copyright (C) 2002, 2009-2015, 2018-2020 Free Software Foundation,
Inc. 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 -1
View File
@@ -1,4 +1,4 @@
## Copyright (C) 2001-2015, 2018-2019 Free Software Foundation, Inc. ## Copyright (C) 2001-2015, 2018-2020 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 -1
View File
@@ -1,6 +1,6 @@
/* Yacc library main function. /* Yacc library main function.
Copyright (C) 2002, 2009-2015, 2018-2019 Free Software Foundation, Copyright (C) 2002, 2009-2015, 2018-2020 Free Software Foundation,
Inc. Inc.
This file is part of Bison, the GNU Compiler Compiler. This file is part of Bison, the GNU Compiler Compiler.
+1 -1
View File
@@ -1,5 +1,5 @@
/* Concatenate path components. /* Concatenate path components.
Copyright (C) 2018-2019 Free Software Foundation, Inc. Copyright (C) 2018-2020 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it 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 under the terms of the GNU General Public License as published by the
+1 -1
View File
@@ -1,5 +1,5 @@
/* Concatenate path components. /* Concatenate path components.
Copyright (C) 2018-2019 Free Software Foundation, Inc. Copyright (C) 2018-2020 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify it 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 under the terms of the GNU General Public License as published by the
+1 -1
View File
@@ -1,7 +1,7 @@
/* 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, 2018-2019 Free Software Copyright (C) 2002, 2007, 2009-2015, 2018-2020 Free Software
Foundation, Inc. Foundation, Inc.
Contributed by Akim Demaille <akim@freefriends.org>. Contributed by Akim Demaille <akim@freefriends.org>.

Some files were not shown because too many files have changed in this diff Show More