mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-08-10 19:25:15 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
06d61f775a | ||
|
|
b3b1806888 | ||
|
|
3ffdd5f125 | ||
|
|
954474bfa1 | ||
|
|
122ff44429 | ||
|
|
6895eefc04 | ||
|
|
d45746a0b7 | ||
|
|
4b07bd01d8 | ||
|
|
e565556458 | ||
|
|
189ba6670f | ||
|
|
c027cccb35 | ||
|
|
a151f354cf | ||
|
|
31f8b787c0 | ||
|
|
b62042d203 | ||
|
|
0100cd629d | ||
|
|
12ff095cad | ||
|
|
67f5d55d7a | ||
|
|
ff1f7871df | ||
|
|
b733bcd00e | ||
|
|
cb76b1f1a3 | ||
|
|
4333ba11c6 | ||
|
|
48f4100a82 | ||
|
|
18493762be | ||
|
|
c7b5c7fd06 | ||
|
|
cf80e9c386 | ||
|
|
311b2e56ea | ||
|
|
895c37a5c7 | ||
|
|
08090fe64c | ||
|
|
c76f5dfb03 | ||
|
|
2ad7e09e96 | ||
|
|
a3d760ef5d | ||
|
|
22cc8d813e | ||
|
|
9398411bfc | ||
|
|
d093cf8cbd | ||
|
|
c412a490ec | ||
|
|
2d2a7d608e | ||
|
|
5ea72c19da | ||
|
|
97d520633b | ||
|
|
af8a609a90 | ||
|
|
73edad9a25 | ||
|
|
9736697d6d | ||
|
|
e2f3fda11a | ||
|
|
3c0be43411 | ||
|
|
d45708d418 | ||
|
|
219c26ea51 | ||
|
|
f1ceed0774 | ||
|
|
d2829fdc04 | ||
|
|
43dc3c8bc4 | ||
|
|
3d04b5673d | ||
|
|
39c2566994 | ||
|
|
1694ac5cf2 | ||
|
|
dfff662817 | ||
|
|
adf1725fdb | ||
|
|
7aaf9ce758 | ||
|
|
2ceb8c617c | ||
|
|
87b9c9bc43 | ||
|
|
dc25ce6bb1 | ||
|
|
ace92a2691 | ||
|
|
397bb3932f | ||
|
|
bbbbe221d7 | ||
|
|
4d7b57b527 | ||
|
|
321fe707f4 | ||
|
|
1266b63674 | ||
|
|
b9ad39c1fb | ||
|
|
b1a4261e6d | ||
|
|
a022ff4186 | ||
|
|
b5b94bd5e6 | ||
|
|
b9e42bb439 | ||
|
|
75ac158b82 | ||
|
|
f23cd66008 | ||
|
|
9874460819 | ||
|
|
915becaa5d | ||
|
|
ae50972393 | ||
|
|
c9e0a88079 | ||
|
|
50bcb22c4c | ||
|
|
cfc9e431c3 | ||
|
|
42f8609bbd | ||
|
|
9e408f848d | ||
|
|
48578d6c12 | ||
|
|
914e713d07 | ||
|
|
94505fb7e2 | ||
|
|
1bcbca4368 | ||
|
|
a17352a9da | ||
|
|
c984dee8d1 | ||
|
|
cefb18280b | ||
|
|
2f3064f08e | ||
|
|
ab3a683f05 |
+32
@@ -0,0 +1,32 @@
|
|||||||
|
*.cache
|
||||||
|
*.flc
|
||||||
|
*.prj
|
||||||
|
*~
|
||||||
|
.tarball-version
|
||||||
|
.version
|
||||||
|
ABOUT-NLS
|
||||||
|
COPYING
|
||||||
|
GNUmakefile
|
||||||
|
INSTALL
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
_*
|
||||||
|
a.exe
|
||||||
|
a.out
|
||||||
|
aclocal.m4
|
||||||
|
b.out
|
||||||
|
bison-*
|
||||||
|
conf[0-9]*
|
||||||
|
confdefs*
|
||||||
|
config.log
|
||||||
|
config.status
|
||||||
|
configure
|
||||||
|
configure.lineno
|
||||||
|
conftest*
|
||||||
|
gnulib
|
||||||
|
javacomp.sh
|
||||||
|
javaexec.sh
|
||||||
|
maint.mk
|
||||||
|
patches
|
||||||
|
releases
|
||||||
|
stamp-h*
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
/*.cache
|
/*.cache
|
||||||
/*.flc
|
/*.flc
|
||||||
/*.prj
|
/*.prj
|
||||||
@@ -31,4 +30,3 @@
|
|||||||
/patches
|
/patches
|
||||||
/releases
|
/releases
|
||||||
/stamp-h*
|
/stamp-h*
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
[submodule "gnulib"]
|
[submodule "gnulib"]
|
||||||
path = gnulib
|
path = gnulib
|
||||||
url = git://git.savannah.gnu.org/gnulib.git
|
url = git://git.savannah.gnu.org/gnulib.git
|
||||||
[submodule "submodules/autoconf"]
|
|
||||||
path = submodules/autoconf
|
|
||||||
url = git://git.sv.gnu.org/autoconf.git
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
COPYING
|
COPYING
|
||||||
^bootstrap$
|
|
||||||
^doc/fdl\.texi$
|
^doc/fdl\.texi$
|
||||||
^doc/gpl-3\.0\.texi$
|
^doc/gpl-3\.0\.texi$
|
||||||
^doc/yacc\.1\.in$
|
^doc/yacc\.1\.in$
|
||||||
^src/parse-gram\.h$
|
^src/parse-gram\.h$
|
||||||
|
^data/m4sugar/
|
||||||
|
|||||||
@@ -158,20 +158,6 @@ Register your changes.
|
|||||||
|
|
||||||
$ git checkin ...
|
$ git checkin ...
|
||||||
|
|
||||||
For a suggestion of what gnulib commit might be stable enough for a
|
|
||||||
formal release, see the ChangeLog in the latest gnulib snapshot at:
|
|
||||||
|
|
||||||
http://erislabs.net/ianb/projects/gnulib/
|
|
||||||
|
|
||||||
The autoconf files we use are currently:
|
|
||||||
|
|
||||||
m4/m4.m4
|
|
||||||
lib/m4sugar/m4sugar.m4
|
|
||||||
lib/m4sugar/foreach.m4
|
|
||||||
|
|
||||||
These files don't change very often in autoconf, so it should be
|
|
||||||
relatively straight-forward to examine the differences in order to
|
|
||||||
decide whether to update.
|
|
||||||
|
|
||||||
* Test suite
|
* Test suite
|
||||||
|
|
||||||
@@ -186,9 +172,6 @@ release:
|
|||||||
that 1. Bison compiles cleanly, 2. the parsers it produces compile
|
that 1. Bison compiles cleanly, 2. the parsers it produces compile
|
||||||
cleanly too.
|
cleanly too.
|
||||||
|
|
||||||
- Build with -DGNULIB_POSIXCHECK. It suggests gnulib modules that can
|
|
||||||
fix portability issues.
|
|
||||||
|
|
||||||
- run `make maintainer-check' which:
|
- run `make maintainer-check' which:
|
||||||
- runs `valgrind -q bison' to run Bison under Valgrind.
|
- runs `valgrind -q bison' to run Bison under Valgrind.
|
||||||
- runs the parsers under Valgrind.
|
- runs the parsers under Valgrind.
|
||||||
@@ -214,8 +197,6 @@ release:
|
|||||||
|
|
||||||
* Release Procedure
|
* Release Procedure
|
||||||
|
|
||||||
** Update the submodules. See above.
|
|
||||||
|
|
||||||
** Try to get the *.pot files to the Translation Project at least one
|
** Try to get the *.pot files to the Translation Project at least one
|
||||||
week before a stable release, to give them time to translate them.
|
week before a stable release, to give them time to translate them.
|
||||||
Before generating the *.pot files, make sure that po/POTFILES.in and
|
Before generating the *.pot files, make sure that po/POTFILES.in and
|
||||||
@@ -383,7 +364,8 @@ Push these changes.
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 2002-2005, 2007-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010 Free
|
||||||
|
Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Bison.
|
This file is part of GNU Bison.
|
||||||
|
|
||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||||
|
|
||||||
## Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||||
|
## 2010 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,358 +1,6 @@
|
|||||||
Bison News
|
Bison News
|
||||||
----------
|
----------
|
||||||
|
|
||||||
* Changes in version 2.5 (2011-05-14):
|
|
||||||
|
|
||||||
** Grammar symbol names can now contain non-initial dashes:
|
|
||||||
|
|
||||||
Consistently with directives (such as %error-verbose) and with
|
|
||||||
%define variables (e.g. push-pull), grammar symbol names may contain
|
|
||||||
dashes in any position except the beginning. This is a GNU
|
|
||||||
extension over POSIX Yacc. Thus, use of this extension is reported
|
|
||||||
by -Wyacc and rejected in Yacc mode (--yacc).
|
|
||||||
|
|
||||||
** Named references:
|
|
||||||
|
|
||||||
Historically, Yacc and Bison have supported positional references
|
|
||||||
($n, $$) to allow access to symbol values from inside of semantic
|
|
||||||
actions code.
|
|
||||||
|
|
||||||
Starting from this version, Bison can also accept named references.
|
|
||||||
When no ambiguity is possible, original symbol names may be used
|
|
||||||
as named references:
|
|
||||||
|
|
||||||
if_stmt : "if" cond_expr "then" then_stmt ';'
|
|
||||||
{ $if_stmt = mk_if_stmt($cond_expr, $then_stmt); }
|
|
||||||
|
|
||||||
In the more common case, explicit names may be declared:
|
|
||||||
|
|
||||||
stmt[res] : "if" expr[cond] "then" stmt[then] "else" stmt[else] ';'
|
|
||||||
{ $res = mk_if_stmt($cond, $then, $else); }
|
|
||||||
|
|
||||||
Location information is also accessible using @name syntax. When
|
|
||||||
accessing symbol names containing dots or dashes, explicit bracketing
|
|
||||||
($[sym.1]) must be used.
|
|
||||||
|
|
||||||
These features are experimental in this version. More user feedback
|
|
||||||
will help to stabilize them.
|
|
||||||
|
|
||||||
** IELR(1) and canonical LR(1):
|
|
||||||
|
|
||||||
IELR(1) is a minimal LR(1) parser table generation algorithm. That
|
|
||||||
is, given any context-free grammar, IELR(1) generates parser tables
|
|
||||||
with the full language-recognition power of canonical LR(1) but with
|
|
||||||
nearly the same number of parser states as LALR(1). This reduction
|
|
||||||
in parser states is often an order of magnitude. More importantly,
|
|
||||||
because canonical LR(1)'s extra parser states may contain duplicate
|
|
||||||
conflicts in the case of non-LR(1) grammars, the number of conflicts
|
|
||||||
for IELR(1) is often an order of magnitude less as well. This can
|
|
||||||
significantly reduce the complexity of developing of a grammar.
|
|
||||||
|
|
||||||
Bison can now generate IELR(1) and canonical LR(1) parser tables in
|
|
||||||
place of its traditional LALR(1) parser tables, which remain the
|
|
||||||
default. You can specify the type of parser tables in the grammar
|
|
||||||
file with these directives:
|
|
||||||
|
|
||||||
%define lr.type lalr
|
|
||||||
%define lr.type ielr
|
|
||||||
%define lr.type canonical-lr
|
|
||||||
|
|
||||||
The default-reduction optimization in the parser tables can also be
|
|
||||||
adjusted using `%define lr.default-reductions'. For details on both
|
|
||||||
of these features, see the new section `Tuning LR' in the Bison
|
|
||||||
manual.
|
|
||||||
|
|
||||||
These features are experimental. More user feedback will help to
|
|
||||||
stabilize them.
|
|
||||||
|
|
||||||
** LAC (Lookahead Correction) for syntax error handling:
|
|
||||||
|
|
||||||
Canonical LR, IELR, and LALR can suffer from a couple of problems
|
|
||||||
upon encountering a syntax error. First, the parser might perform
|
|
||||||
additional parser stack reductions before discovering the syntax
|
|
||||||
error. Such reductions can perform user semantic actions that are
|
|
||||||
unexpected because they are based on an invalid token, and they
|
|
||||||
cause error recovery to begin in a different syntactic context than
|
|
||||||
the one in which the invalid token was encountered. Second, when
|
|
||||||
verbose error messages are enabled (with %error-verbose or the
|
|
||||||
obsolete `#define YYERROR_VERBOSE'), the expected token list in the
|
|
||||||
syntax error message can both contain invalid tokens and omit valid
|
|
||||||
tokens.
|
|
||||||
|
|
||||||
The culprits for the above problems are %nonassoc, default
|
|
||||||
reductions in inconsistent states, and parser state merging. Thus,
|
|
||||||
IELR and LALR suffer the most. Canonical LR can suffer only if
|
|
||||||
%nonassoc is used or if default reductions are enabled for
|
|
||||||
inconsistent states.
|
|
||||||
|
|
||||||
LAC is a new mechanism within the parsing algorithm that solves
|
|
||||||
these problems for canonical LR, IELR, and LALR without sacrificing
|
|
||||||
%nonassoc, default reductions, or state merging. When LAC is in
|
|
||||||
use, canonical LR and IELR behave almost exactly the same for both
|
|
||||||
syntactically acceptable and syntactically unacceptable input.
|
|
||||||
While LALR still does not support the full language-recognition
|
|
||||||
power of canonical LR and IELR, LAC at least enables LALR's syntax
|
|
||||||
error handling to correctly reflect LALR's language-recognition
|
|
||||||
power.
|
|
||||||
|
|
||||||
Currently, LAC is only supported for deterministic parsers in C.
|
|
||||||
You can enable LAC with the following directive:
|
|
||||||
|
|
||||||
%define parse.lac full
|
|
||||||
|
|
||||||
See the new section `LAC' in the Bison manual for additional
|
|
||||||
details including a few caveats.
|
|
||||||
|
|
||||||
LAC is an experimental feature. More user feedback will help to
|
|
||||||
stabilize it.
|
|
||||||
|
|
||||||
** %define improvements:
|
|
||||||
|
|
||||||
*** Can now be invoked via the command line:
|
|
||||||
|
|
||||||
Each of these command-line options
|
|
||||||
|
|
||||||
-D NAME[=VALUE]
|
|
||||||
--define=NAME[=VALUE]
|
|
||||||
|
|
||||||
-F NAME[=VALUE]
|
|
||||||
--force-define=NAME[=VALUE]
|
|
||||||
|
|
||||||
is equivalent to this grammar file declaration
|
|
||||||
|
|
||||||
%define NAME ["VALUE"]
|
|
||||||
|
|
||||||
except that the manner in which Bison processes multiple definitions
|
|
||||||
for the same NAME differs. Most importantly, -F and --force-define
|
|
||||||
quietly override %define, but -D and --define do not. For further
|
|
||||||
details, see the section `Bison Options' in the Bison manual.
|
|
||||||
|
|
||||||
*** Variables renamed:
|
|
||||||
|
|
||||||
The following %define variables
|
|
||||||
|
|
||||||
api.push_pull
|
|
||||||
lr.keep_unreachable_states
|
|
||||||
|
|
||||||
have been renamed to
|
|
||||||
|
|
||||||
api.push-pull
|
|
||||||
lr.keep-unreachable-states
|
|
||||||
|
|
||||||
The old names are now deprecated but will be maintained indefinitely
|
|
||||||
for backward compatibility.
|
|
||||||
|
|
||||||
*** Values no longer need to be quoted in the grammar file:
|
|
||||||
|
|
||||||
If a %define value is an identifier, it no longer needs to be placed
|
|
||||||
within quotations marks. For example,
|
|
||||||
|
|
||||||
%define api.push-pull "push"
|
|
||||||
|
|
||||||
can be rewritten as
|
|
||||||
|
|
||||||
%define api.push-pull push
|
|
||||||
|
|
||||||
*** Unrecognized variables are now errors not warnings.
|
|
||||||
|
|
||||||
*** Multiple invocations for any variable is now an error not a warning.
|
|
||||||
|
|
||||||
** Unrecognized %code qualifiers are now errors not warnings.
|
|
||||||
|
|
||||||
** Character literals not of length one:
|
|
||||||
|
|
||||||
Previously, Bison quietly converted all character literals to length
|
|
||||||
one. For example, without warning, Bison interpreted the operators in
|
|
||||||
the following grammar to be the same token:
|
|
||||||
|
|
||||||
exp: exp '++'
|
|
||||||
| exp '+' exp
|
|
||||||
;
|
|
||||||
|
|
||||||
Bison now warns when a character literal is not of length one. In
|
|
||||||
some future release, Bison will start reporting an error instead.
|
|
||||||
|
|
||||||
** Destructor calls fixed for lookaheads altered in semantic actions:
|
|
||||||
|
|
||||||
Previously for deterministic parsers in C, if a user semantic action
|
|
||||||
altered yychar, the parser in some cases used the old yychar value to
|
|
||||||
determine which destructor to call for the lookahead upon a syntax
|
|
||||||
error or upon parser return. This bug has been fixed.
|
|
||||||
|
|
||||||
** C++ parsers use YYRHSLOC:
|
|
||||||
|
|
||||||
Similarly to the C parsers, the C++ parsers now define the YYRHSLOC
|
|
||||||
macro and use it in the default YYLLOC_DEFAULT. You are encouraged
|
|
||||||
to use it. If, for instance, your location structure has `first'
|
|
||||||
and `last' members, instead of
|
|
||||||
|
|
||||||
# define YYLLOC_DEFAULT(Current, Rhs, N) \
|
|
||||||
do \
|
|
||||||
if (N) \
|
|
||||||
{ \
|
|
||||||
(Current).first = (Rhs)[1].location.first; \
|
|
||||||
(Current).last = (Rhs)[N].location.last; \
|
|
||||||
} \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
(Current).first = (Current).last = (Rhs)[0].location.last; \
|
|
||||||
} \
|
|
||||||
while (false)
|
|
||||||
|
|
||||||
use:
|
|
||||||
|
|
||||||
# define YYLLOC_DEFAULT(Current, Rhs, N) \
|
|
||||||
do \
|
|
||||||
if (N) \
|
|
||||||
{ \
|
|
||||||
(Current).first = YYRHSLOC (Rhs, 1).first; \
|
|
||||||
(Current).last = YYRHSLOC (Rhs, N).last; \
|
|
||||||
} \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
(Current).first = (Current).last = YYRHSLOC (Rhs, 0).last; \
|
|
||||||
} \
|
|
||||||
while (false)
|
|
||||||
|
|
||||||
** YYLLOC_DEFAULT in C++:
|
|
||||||
|
|
||||||
The default implementation of YYLLOC_DEFAULT used to be issued in
|
|
||||||
the header file. It is now output in the implementation file, after
|
|
||||||
the user %code sections so that its #ifndef guard does not try to
|
|
||||||
override the user's YYLLOC_DEFAULT if provided.
|
|
||||||
|
|
||||||
** YYFAIL now produces warnings and Java parsers no longer implement it:
|
|
||||||
|
|
||||||
YYFAIL has existed for many years as an undocumented feature of
|
|
||||||
deterministic parsers in C generated by Bison. More recently, it was
|
|
||||||
a documented feature of Bison's experimental Java parsers. As
|
|
||||||
promised in Bison 2.4.2's NEWS entry, any appearance of YYFAIL in a
|
|
||||||
semantic action now produces a deprecation warning, and Java parsers
|
|
||||||
no longer implement YYFAIL at all. For further details, including a
|
|
||||||
discussion of how to suppress C preprocessor warnings about YYFAIL
|
|
||||||
being unused, see the Bison 2.4.2 NEWS entry.
|
|
||||||
|
|
||||||
** Temporary hack for adding a semicolon to the user action:
|
|
||||||
|
|
||||||
Previously, Bison appended a semicolon to every user action for
|
|
||||||
reductions when the output language defaulted to C (specifically, when
|
|
||||||
neither %yacc, %language, %skeleton, or equivalent command-line
|
|
||||||
options were specified). This allowed actions such as
|
|
||||||
|
|
||||||
exp: exp "+" exp { $$ = $1 + $3 };
|
|
||||||
|
|
||||||
instead of
|
|
||||||
|
|
||||||
exp: exp "+" exp { $$ = $1 + $3; };
|
|
||||||
|
|
||||||
As a first step in removing this misfeature, Bison now issues a
|
|
||||||
warning when it appends a semicolon. Moreover, in cases where Bison
|
|
||||||
cannot easily determine whether a semicolon is needed (for example, an
|
|
||||||
action ending with a cpp directive or a braced compound initializer),
|
|
||||||
it no longer appends one. Thus, the C compiler might now complain
|
|
||||||
about a missing semicolon where it did not before. Future releases of
|
|
||||||
Bison will cease to append semicolons entirely.
|
|
||||||
|
|
||||||
** Verbose syntax error message fixes:
|
|
||||||
|
|
||||||
When %error-verbose or the obsolete `#define YYERROR_VERBOSE' is
|
|
||||||
specified, syntax error messages produced by the generated parser
|
|
||||||
include the unexpected token as well as a list of expected tokens.
|
|
||||||
The effect of %nonassoc on these verbose messages has been corrected
|
|
||||||
in two ways, but a more complete fix requires LAC, described above:
|
|
||||||
|
|
||||||
*** When %nonassoc is used, there can exist parser states that accept no
|
|
||||||
tokens, and so the parser does not always require a lookahead token
|
|
||||||
in order to detect a syntax error. Because no unexpected token or
|
|
||||||
expected tokens can then be reported, the verbose syntax error
|
|
||||||
message described above is suppressed, and the parser instead
|
|
||||||
reports the simpler message, `syntax error'. Previously, this
|
|
||||||
suppression was sometimes erroneously triggered by %nonassoc when a
|
|
||||||
lookahead was actually required. Now verbose messages are
|
|
||||||
suppressed only when all previous lookaheads have already been
|
|
||||||
shifted or discarded.
|
|
||||||
|
|
||||||
*** Previously, the list of expected tokens erroneously included tokens
|
|
||||||
that would actually induce a syntax error because conflicts for them
|
|
||||||
were resolved with %nonassoc in the current parser state. Such
|
|
||||||
tokens are now properly omitted from the list.
|
|
||||||
|
|
||||||
*** Expected token lists are still often wrong due to state merging
|
|
||||||
(from LALR or IELR) and default reductions, which can both add
|
|
||||||
invalid tokens and subtract valid tokens. Canonical LR almost
|
|
||||||
completely fixes this problem by eliminating state merging and
|
|
||||||
default reductions. However, there is one minor problem left even
|
|
||||||
when using canonical LR and even after the fixes above. That is,
|
|
||||||
if the resolution of a conflict with %nonassoc appears in a later
|
|
||||||
parser state than the one at which some syntax error is
|
|
||||||
discovered, the conflicted token is still erroneously included in
|
|
||||||
the expected token list. Bison's new LAC implementation,
|
|
||||||
described above, eliminates this problem and the need for
|
|
||||||
canonical LR. However, LAC is still experimental and is disabled
|
|
||||||
by default.
|
|
||||||
|
|
||||||
** Java skeleton fixes:
|
|
||||||
|
|
||||||
*** A location handling bug has been fixed.
|
|
||||||
|
|
||||||
*** The top element of each of the value stack and location stack is now
|
|
||||||
cleared when popped so that it can be garbage collected.
|
|
||||||
|
|
||||||
*** Parser traces now print the top element of the stack.
|
|
||||||
|
|
||||||
** -W/--warnings fixes:
|
|
||||||
|
|
||||||
*** Bison now properly recognizes the `no-' versions of categories:
|
|
||||||
|
|
||||||
For example, given the following command line, Bison now enables all
|
|
||||||
warnings except warnings for incompatibilities with POSIX Yacc:
|
|
||||||
|
|
||||||
bison -Wall,no-yacc gram.y
|
|
||||||
|
|
||||||
*** Bison now treats S/R and R/R conflicts like other warnings:
|
|
||||||
|
|
||||||
Previously, conflict reports were independent of Bison's normal
|
|
||||||
warning system. Now, Bison recognizes the warning categories
|
|
||||||
`conflicts-sr' and `conflicts-rr'. This change has important
|
|
||||||
consequences for the -W and --warnings command-line options. For
|
|
||||||
example:
|
|
||||||
|
|
||||||
bison -Wno-conflicts-sr gram.y # S/R conflicts not reported
|
|
||||||
bison -Wno-conflicts-rr gram.y # R/R conflicts not reported
|
|
||||||
bison -Wnone gram.y # no conflicts are reported
|
|
||||||
bison -Werror gram.y # any conflict is an error
|
|
||||||
|
|
||||||
However, as before, if the %expect or %expect-rr directive is
|
|
||||||
specified, an unexpected number of conflicts is an error, and an
|
|
||||||
expected number of conflicts is not reported, so -W and --warning
|
|
||||||
then have no effect on the conflict report.
|
|
||||||
|
|
||||||
*** The `none' category no longer disables a preceding `error':
|
|
||||||
|
|
||||||
For example, for the following command line, Bison now reports
|
|
||||||
errors instead of warnings for incompatibilities with POSIX Yacc:
|
|
||||||
|
|
||||||
bison -Werror,none,yacc gram.y
|
|
||||||
|
|
||||||
*** The `none' category now disables all Bison warnings:
|
|
||||||
|
|
||||||
Previously, the `none' category disabled only Bison warnings for
|
|
||||||
which there existed a specific -W/--warning category. However,
|
|
||||||
given the following command line, Bison is now guaranteed to
|
|
||||||
suppress all warnings:
|
|
||||||
|
|
||||||
bison -Wnone gram.y
|
|
||||||
|
|
||||||
** Precedence directives can now assign token number 0:
|
|
||||||
|
|
||||||
Since Bison 2.3b, which restored the ability of precedence
|
|
||||||
directives to assign token numbers, doing so for token number 0 has
|
|
||||||
produced an assertion failure. For example:
|
|
||||||
|
|
||||||
%left END 0
|
|
||||||
|
|
||||||
This bug has been fixed.
|
|
||||||
|
|
||||||
* Changes in version 2.4.3 (2010-08-05):
|
* Changes in version 2.4.3 (2010-08-05):
|
||||||
|
|
||||||
** Bison now obeys -Werror and --warnings=error for warnings about
|
** Bison now obeys -Werror and --warnings=error for warnings about
|
||||||
@@ -1514,7 +1162,9 @@ End:
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 1995-2011 Free Software Foundation, Inc.
|
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
|
||||||
|
2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
|
||||||
|
Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Parser Generator.
|
This file is part of Bison, the GNU Parser Generator.
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ to the bison package.
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 2002, 2005, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2005, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
@@ -33,10 +33,6 @@ Please send bug reports to <[email protected]>. Please include the
|
|||||||
version number from `bison --version', and a complete, self-contained
|
version number from `bison --version', and a complete, self-contained
|
||||||
test case in each bug report.
|
test case in each bug report.
|
||||||
|
|
||||||
* Copyright statements
|
|
||||||
For any copyright year range specified as YYYY-ZZZZ in this package,
|
|
||||||
note that the range specifies every single year in that closed interval.
|
|
||||||
|
|
||||||
|
|
||||||
Local Variables:
|
Local Variables:
|
||||||
mode: outline
|
mode: outline
|
||||||
@@ -44,8 +40,8 @@ End:
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 1992, 1998-1999, 2003-2005, 2008-2011 Free Software
|
Copyright (C) 1992, 1998, 1999, 2003, 2004, 2005, 2008, 2009, 2010
|
||||||
Foundation, Inc.
|
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
@@ -12,7 +12,7 @@ the problems you encounter.
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Bison.
|
This file is part of GNU Bison.
|
||||||
|
|
||||||
|
|||||||
@@ -8,13 +8,11 @@ Alexander Belopolsky [email protected]
|
|||||||
Alexandre Duret-Lutz [email protected]
|
Alexandre Duret-Lutz [email protected]
|
||||||
Andreas Schwab [email protected]
|
Andreas Schwab [email protected]
|
||||||
Andrew Suffield [email protected]
|
Andrew Suffield [email protected]
|
||||||
Angelo Borsotti [email protected]
|
|
||||||
Anthony Heading [email protected]
|
Anthony Heading [email protected]
|
||||||
Arnold Robbins [email protected]
|
Arnold Robbins [email protected]
|
||||||
Art Haas [email protected]
|
Art Haas [email protected]
|
||||||
Baron Schwartz [email protected]
|
Baron Schwartz [email protected]
|
||||||
Benoit Perrot [email protected]
|
Benoit Perrot [email protected]
|
||||||
Bernd Kiefer [email protected]
|
|
||||||
Bert Deknuydt [email protected]
|
Bert Deknuydt [email protected]
|
||||||
Bill Allombert [email protected]
|
Bill Allombert [email protected]
|
||||||
Bob Rossi [email protected]
|
Bob Rossi [email protected]
|
||||||
@@ -41,7 +39,6 @@ Florian Krohm [email protected]
|
|||||||
Frank Heckenbach [email protected]
|
Frank Heckenbach [email protected]
|
||||||
Frans Englich [email protected]
|
Frans Englich [email protected]
|
||||||
Georg Sauthoff [email protected]
|
Georg Sauthoff [email protected]
|
||||||
George Neuner [email protected]
|
|
||||||
Goran Uddeborg [email protected]
|
Goran Uddeborg [email protected]
|
||||||
Guido Trentalancia [email protected]
|
Guido Trentalancia [email protected]
|
||||||
H. Merijn Brand [email protected]
|
H. Merijn Brand [email protected]
|
||||||
@@ -51,7 +48,7 @@ Jerry Quinn [email protected]
|
|||||||
Jesse Thilo [email protected]
|
Jesse Thilo [email protected]
|
||||||
Jim Kent [email protected]
|
Jim Kent [email protected]
|
||||||
Jim Meyering [email protected]
|
Jim Meyering [email protected]
|
||||||
Joel E. Denny joeldenny@joeldenny.org
|
Joel E. Denny jdenny@ces.clemson.edu
|
||||||
Johan van Selst [email protected]
|
Johan van Selst [email protected]
|
||||||
Jonathan Nieder [email protected]
|
Jonathan Nieder [email protected]
|
||||||
Juan Manuel Guerrero [email protected]
|
Juan Manuel Guerrero [email protected]
|
||||||
@@ -103,7 +100,7 @@ Tom Lane [email protected]
|
|||||||
Tom Tromey [email protected]
|
Tom Tromey [email protected]
|
||||||
Tommy Nordgren [email protected]
|
Tommy Nordgren [email protected]
|
||||||
Troy A. Johnson [email protected]
|
Troy A. Johnson [email protected]
|
||||||
Tys Lefering twlevo@gmail.com
|
Tys Lefering twlevo@xs4all.nl
|
||||||
Vin Shelton [email protected]
|
Vin Shelton [email protected]
|
||||||
Wayne Green [email protected]
|
Wayne Green [email protected]
|
||||||
Wolfram Wagner [email protected]
|
Wolfram Wagner [email protected]
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ parser") refers to the current `output' format.
|
|||||||
** vector
|
** vector
|
||||||
Move to using vector, drop stack.hh.
|
Move to using vector, drop stack.hh.
|
||||||
|
|
||||||
|
** I18n
|
||||||
|
Catch up with yacc.c.
|
||||||
|
|
||||||
* Report
|
* Report
|
||||||
|
|
||||||
** GLR
|
** GLR
|
||||||
@@ -287,7 +290,8 @@ Equip the parser with a means to create the (visual) parse tree.
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 2001-2004, 2006, 2008-2011 Free Software Foundation, Inc.
|
Copyright (C) 2001, 2002, 2003, 2004, 2006, 2008, 2009, 2010 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,10 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Print a version string.
|
|
||||||
scriptversion=2011-04-05.18; # UTC
|
|
||||||
|
|
||||||
# Bootstrap this package from checked-out sources.
|
# Bootstrap this package from checked-out sources.
|
||||||
|
|
||||||
# Copyright (C) 2003-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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,20 +18,13 @@ scriptversion=2011-04-05.18; # UTC
|
|||||||
# 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/>.
|
||||||
|
|
||||||
# Originally written by Paul Eggert. The canonical version of this
|
# Written by Paul Eggert.
|
||||||
# script is maintained as build-aux/bootstrap in gnulib, however, to
|
|
||||||
# be useful to your project, you should place a copy of it under
|
|
||||||
# version control in the top-level directory of your project. The
|
|
||||||
# intent is that all customization can be done with a bootstrap.conf
|
|
||||||
# file also maintained in your version control; gnulib comes with a
|
|
||||||
# template build-aux/bootstrap.conf to get you started.
|
|
||||||
|
|
||||||
# Please report bugs or propose patches to [email protected].
|
|
||||||
|
|
||||||
nl='
|
nl='
|
||||||
'
|
'
|
||||||
|
|
||||||
# Ensure file names are sorted consistently across platforms.
|
# Ensure file names are sorted consistently across platforms.
|
||||||
|
# Also, ensure diagnostics are in English, e.g., "wget --help" below.
|
||||||
LC_ALL=C
|
LC_ALL=C
|
||||||
export LC_ALL
|
export LC_ALL
|
||||||
|
|
||||||
@@ -42,32 +34,24 @@ local_gl_dir=gl
|
|||||||
bt='._bootmp'
|
bt='._bootmp'
|
||||||
bt_regex=`echo "$bt"| sed 's/\./[.]/g'`
|
bt_regex=`echo "$bt"| sed 's/\./[.]/g'`
|
||||||
bt2=${bt}2
|
bt2=${bt}2
|
||||||
me=$0
|
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
Usage: $me [OPTION]...
|
Usage: $0 [OPTION]...
|
||||||
Bootstrap this package from the checked-out sources.
|
Bootstrap this package from the checked-out sources.
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
--gnulib-srcdir=DIRNAME specify the local directory where gnulib
|
--gnulib-srcdir=DIRNAME Specify the local directory where gnulib
|
||||||
sources reside. Use this if you already
|
sources reside. Use this if you already
|
||||||
have gnulib sources on your machine, and
|
have gnulib sources on your machine, and
|
||||||
do not want to waste your bandwidth downloading
|
do not want to waste your bandwidth downloading
|
||||||
them again. Defaults to \$GNULIB_SRCDIR
|
them again.
|
||||||
--bootstrap-sync if this bootstrap script is not identical to
|
--copy Copy files instead of creating symbolic links.
|
||||||
the version in the local gnulib sources,
|
--force Attempt to bootstrap even if the sources seem
|
||||||
update this script, and then restart it with
|
not to have been checked out.
|
||||||
/bin/sh or the shell \$CONFIG_SHELL
|
--skip-po Do not download po files.
|
||||||
--no-bootstrap-sync do not check whether bootstrap is out of sync
|
|
||||||
--copy copy files instead of creating symbolic links
|
|
||||||
--force attempt to bootstrap even if the sources seem
|
|
||||||
not to have been checked out
|
|
||||||
--no-git do not use git to update gnulib. Requires that
|
|
||||||
--gnulib-srcdir point to a correct gnulib snapshot
|
|
||||||
--skip-po do not download po files
|
|
||||||
|
|
||||||
If the file $me.conf exists in the same directory as this script, its
|
If the file $0.conf exists in the same directory as this script, its
|
||||||
contents are read as shell variables to configure the bootstrap.
|
contents are read as shell variables to configure the bootstrap.
|
||||||
|
|
||||||
For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR
|
For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR
|
||||||
@@ -88,10 +72,6 @@ gnulib_modules=
|
|||||||
# Any gnulib files needed that are not in modules.
|
# Any gnulib files needed that are not in modules.
|
||||||
gnulib_files=
|
gnulib_files=
|
||||||
|
|
||||||
# A function to be called to edit gnulib.mk right after it's created.
|
|
||||||
# Override it via your own definition in bootstrap.conf.
|
|
||||||
gnulib_mk_hook() { :; }
|
|
||||||
|
|
||||||
# A function to be called after everything else in this script.
|
# A function to be called after everything else in this script.
|
||||||
# Override it via your own definition in bootstrap.conf.
|
# Override it via your own definition in bootstrap.conf.
|
||||||
bootstrap_epilogue() { :; }
|
bootstrap_epilogue() { :; }
|
||||||
@@ -102,8 +82,7 @@ bootstrap_epilogue() { :; }
|
|||||||
# options because the latest/%s directory and the .po files within are
|
# options because the latest/%s directory and the .po files within are
|
||||||
# all symlinks.
|
# all symlinks.
|
||||||
po_download_command_format=\
|
po_download_command_format=\
|
||||||
"rsync --delete --exclude '*.s1' -Lrtvz \
|
"rsync -Lrtvz 'translationproject.org::tp/latest/%s/' '%s'"
|
||||||
'translationproject.org::tp/latest/%s/' '%s'"
|
|
||||||
|
|
||||||
extract_package_name='
|
extract_package_name='
|
||||||
/^AC_INIT(/{
|
/^AC_INIT(/{
|
||||||
@@ -130,7 +109,18 @@ source_base=lib
|
|||||||
m4_base=m4
|
m4_base=m4
|
||||||
doc_base=doc
|
doc_base=doc
|
||||||
tests_base=tests
|
tests_base=tests
|
||||||
gnulib_extra_files=''
|
|
||||||
|
# Extra files from gnulib, which override files from other sources.
|
||||||
|
gnulib_extra_files="
|
||||||
|
$build_aux/install-sh
|
||||||
|
$build_aux/missing
|
||||||
|
$build_aux/mdate-sh
|
||||||
|
$build_aux/texinfo.tex
|
||||||
|
$build_aux/depcomp
|
||||||
|
$build_aux/config.guess
|
||||||
|
$build_aux/config.sub
|
||||||
|
doc/INSTALL
|
||||||
|
"
|
||||||
|
|
||||||
# Additional gnulib-tool options to use. Use "\newline" to break lines.
|
# Additional gnulib-tool options to use. Use "\newline" to break lines.
|
||||||
gnulib_tool_option_extras=
|
gnulib_tool_option_extras=
|
||||||
@@ -145,8 +135,7 @@ XGETTEXT_OPTIONS='\\\
|
|||||||
--flag=error:3:c-format --flag=error_at_line:5:c-format\\\
|
--flag=error:3:c-format --flag=error_at_line:5:c-format\\\
|
||||||
'
|
'
|
||||||
|
|
||||||
# Package bug report address and copyright holder for gettext files
|
# Package bug report address for gettext files
|
||||||
COPYRIGHT_HOLDER='Free Software Foundation, Inc.'
|
|
||||||
[email protected]
|
[email protected]
|
||||||
|
|
||||||
# Files we don't want to import.
|
# Files we don't want to import.
|
||||||
@@ -154,7 +143,7 @@ excluded_files=
|
|||||||
|
|
||||||
# File that should exist in the top directory of a checked out hierarchy,
|
# File that should exist in the top directory of a checked out hierarchy,
|
||||||
# but not in a distribution tarball.
|
# but not in a distribution tarball.
|
||||||
checkout_only_file=README-hacking
|
checkout_only_file=HACKING
|
||||||
|
|
||||||
# Whether to use copies instead of symlinks.
|
# Whether to use copies instead of symlinks.
|
||||||
copy=false
|
copy=false
|
||||||
@@ -165,13 +154,6 @@ copy=false
|
|||||||
# on which version control system (if any) is used in the source directory.
|
# on which version control system (if any) is used in the source directory.
|
||||||
vc_ignore=auto
|
vc_ignore=auto
|
||||||
|
|
||||||
# Set this to true in bootstrap.conf to enable --bootstrap-sync by
|
|
||||||
# default.
|
|
||||||
bootstrap_sync=false
|
|
||||||
|
|
||||||
# Use git to update gnulib sources
|
|
||||||
use_git=true
|
|
||||||
|
|
||||||
# find_tool ENVVAR NAMES...
|
# find_tool ENVVAR NAMES...
|
||||||
# -------------------------
|
# -------------------------
|
||||||
# Search for a required program. Use the value of ENVVAR, if set,
|
# Search for a required program. Use the value of ENVVAR, if set,
|
||||||
@@ -180,6 +162,7 @@ use_git=true
|
|||||||
# die otherwise.
|
# die otherwise.
|
||||||
find_tool ()
|
find_tool ()
|
||||||
{
|
{
|
||||||
|
# Find sha1sum, named gsha1sum on MacPorts.
|
||||||
find_tool_envvar=$1
|
find_tool_envvar=$1
|
||||||
shift
|
shift
|
||||||
find_tool_names=$@
|
find_tool_names=$@
|
||||||
@@ -196,19 +179,19 @@ find_tool ()
|
|||||||
find_tool_error_prefix="\$$find_tool_envvar: "
|
find_tool_error_prefix="\$$find_tool_envvar: "
|
||||||
fi
|
fi
|
||||||
if test x"$find_tool_res" = x; then
|
if test x"$find_tool_res" = x; then
|
||||||
echo >&2 "$me: one of these is required: $find_tool_names"
|
echo >&2 "$0: one of these is required: $find_tool_names"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
($find_tool_res --version </dev/null) >/dev/null 2>&1 || {
|
($find_tool_res --version </dev/null) >/dev/null 2>&1 || {
|
||||||
echo >&2 "$me: ${find_tool_error_prefix}cannot run $find_tool_res --version"
|
echo >&2 "$0: ${find_tool_error_prefix}cannot run $find_tool_res --version"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
eval "$find_tool_envvar=\$find_tool_res"
|
eval "$find_tool_envvar=\$find_tool_res"
|
||||||
eval "export $find_tool_envvar"
|
eval "export $find_tool_envvar"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Find sha1sum, named gsha1sum on MacPorts, and shasum on MacOS 10.6.
|
# Find sha1sum, named gsha1sum on MacPorts.
|
||||||
find_tool SHA1SUM sha1sum gsha1sum shasum
|
find_tool SHA1SUM sha1sum gsha1sum
|
||||||
|
|
||||||
# Override the default configuration, if necessary.
|
# Override the default configuration, if necessary.
|
||||||
# Make sure that bootstrap.conf is sourced from the current directory
|
# Make sure that bootstrap.conf is sourced from the current directory
|
||||||
@@ -218,18 +201,6 @@ case "$0" in
|
|||||||
*) test -r "$0.conf" && . ./"$0.conf" ;;
|
*) test -r "$0.conf" && . ./"$0.conf" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Extra files from gnulib, which override files from other sources.
|
|
||||||
test -z "${gnulib_extra_files}" && \
|
|
||||||
gnulib_extra_files="
|
|
||||||
$build_aux/install-sh
|
|
||||||
$build_aux/missing
|
|
||||||
$build_aux/mdate-sh
|
|
||||||
$build_aux/texinfo.tex
|
|
||||||
$build_aux/depcomp
|
|
||||||
$build_aux/config.guess
|
|
||||||
$build_aux/config.sub
|
|
||||||
doc/INSTALL
|
|
||||||
"
|
|
||||||
|
|
||||||
if test "$vc_ignore" = auto; then
|
if test "$vc_ignore" = auto; then
|
||||||
vc_ignore=
|
vc_ignore=
|
||||||
@@ -255,53 +226,25 @@ do
|
|||||||
checkout_only_file=;;
|
checkout_only_file=;;
|
||||||
--copy)
|
--copy)
|
||||||
copy=true;;
|
copy=true;;
|
||||||
--bootstrap-sync)
|
|
||||||
bootstrap_sync=true;;
|
|
||||||
--no-bootstrap-sync)
|
|
||||||
bootstrap_sync=false;;
|
|
||||||
--no-git)
|
|
||||||
use_git=false;;
|
|
||||||
*)
|
*)
|
||||||
echo >&2 "$0: $option: unknown option"
|
echo >&2 "$0: $option: unknown option"
|
||||||
exit 1;;
|
exit 1;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
if $use_git || test -d "$GNULIB_SRCDIR"; then
|
|
||||||
:
|
|
||||||
else
|
|
||||||
echo "$0: Error: --no-git requires --gnulib-srcdir" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
|
if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
|
||||||
echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2
|
echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Ensure that lines starting with ! sort last, per gitignore conventions
|
|
||||||
# for whitelisting exceptions after a more generic blacklist pattern.
|
|
||||||
sort_patterns() {
|
|
||||||
sort -u "$@" | sed '/^!/ {
|
|
||||||
H
|
|
||||||
d
|
|
||||||
}
|
|
||||||
$ {
|
|
||||||
P
|
|
||||||
x
|
|
||||||
s/^\n//
|
|
||||||
}'
|
|
||||||
}
|
|
||||||
|
|
||||||
# If $STR is not already on a line by itself in $FILE, insert it,
|
# If $STR is not already on a line by itself in $FILE, insert it,
|
||||||
# sorting the new contents of the file and replacing $FILE with the result.
|
# sorting the new contents of the file and replacing $FILE with the result.
|
||||||
insert_sorted_if_absent() {
|
insert_sorted_if_absent() {
|
||||||
file=$1
|
file=$1
|
||||||
str=$2
|
str=$2
|
||||||
test -f $file || touch $file
|
test -f $file || touch $file
|
||||||
echo "$str" | sort_patterns - $file | cmp - $file > /dev/null \
|
echo "$str" | sort -u - $file | cmp - $file > /dev/null \
|
||||||
|| { echo "$str" | sort_patterns - $file > $file.bak \
|
|| echo "$str" | sort -u - $file -o $file \
|
||||||
&& mv $file.bak $file; } \
|
|
||||||
|| exit 1
|
|| exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -309,13 +252,13 @@ insert_sorted_if_absent() {
|
|||||||
# insert_sorted_if_absent.
|
# insert_sorted_if_absent.
|
||||||
insert_vc_ignore() {
|
insert_vc_ignore() {
|
||||||
vc_ignore_file="$1"
|
vc_ignore_file="$1"
|
||||||
pattern="$2"
|
|
||||||
case $vc_ignore_file in
|
case $vc_ignore_file in
|
||||||
*.gitignore)
|
*.gitignore)
|
||||||
# A .gitignore entry that does not start with `/' applies
|
# A .gitignore entry that does not start with `/' applies recursively to
|
||||||
# recursively to subdirectories, so prepend `/' to every
|
# subdirectories, so prepend `/' to every .gitignore entry.
|
||||||
# .gitignore entry.
|
pattern=`echo "$2" | sed s,^,/,`;;
|
||||||
pattern=`echo "$pattern" | sed s,^,/,`;;
|
*)
|
||||||
|
pattern="$2";;
|
||||||
esac
|
esac
|
||||||
insert_sorted_if_absent "$vc_ignore_file" "$pattern"
|
insert_sorted_if_absent "$vc_ignore_file" "$pattern"
|
||||||
}
|
}
|
||||||
@@ -388,18 +331,17 @@ get_version() {
|
|||||||
$app --version >/dev/null 2>&1 || return 1
|
$app --version >/dev/null 2>&1 || return 1
|
||||||
|
|
||||||
$app --version 2>&1 |
|
$app --version 2>&1 |
|
||||||
sed -n '# Move version to start of line.
|
sed -n '# extract version within line
|
||||||
s/.*[v ]\([0-9]\)/\1/
|
s/.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/
|
||||||
|
t done
|
||||||
|
|
||||||
# Skip lines that do not start with version.
|
# extract version at start of line
|
||||||
/^[0-9]/!d
|
s/^\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/
|
||||||
|
t done
|
||||||
|
|
||||||
# Remove characters after the version.
|
d
|
||||||
s/[^.a-z0-9-].*//
|
|
||||||
|
|
||||||
# The first component must be digits only.
|
|
||||||
s/^\([0-9]*\)[a-z-].*/\1/
|
|
||||||
|
|
||||||
|
:done
|
||||||
#the following essentially does s/5.005/5.5/
|
#the following essentially does s/5.005/5.5/
|
||||||
s/\.0*\([1-9]\)/.\1/g
|
s/\.0*\([1-9]\)/.\1/g
|
||||||
p
|
p
|
||||||
@@ -410,26 +352,18 @@ check_versions() {
|
|||||||
ret=0
|
ret=0
|
||||||
|
|
||||||
while read app req_ver; do
|
while read app req_ver; do
|
||||||
# We only need libtoolize from the libtool package.
|
|
||||||
if test "$app" = libtool; then
|
|
||||||
app=libtoolize
|
|
||||||
fi
|
|
||||||
# Exempt git if --no-git is in effect.
|
|
||||||
if test "$app" = git; then
|
|
||||||
$use_git || continue
|
|
||||||
fi
|
|
||||||
# Honor $APP variables ($TAR, $AUTOCONF, etc.)
|
# Honor $APP variables ($TAR, $AUTOCONF, etc.)
|
||||||
appvar=`echo $app | tr '[a-z]-' '[A-Z]_'`
|
appvar=`echo $app | tr '[a-z]' '[A-Z]'`
|
||||||
test "$appvar" = TAR && appvar=AMTAR
|
test "$appvar" = TAR && appvar=AMTAR
|
||||||
eval "app=\${$appvar-$app}"
|
eval "app=\${$appvar-$app}"
|
||||||
inst_ver=$(get_version $app)
|
inst_ver=$(get_version $app)
|
||||||
if [ ! "$inst_ver" ]; then
|
if [ ! "$inst_ver" ]; then
|
||||||
echo "$me: Error: '$app' not found" >&2
|
echo "Error: '$app' not found" >&2
|
||||||
ret=1
|
ret=1
|
||||||
elif [ ! "$req_ver" = "-" ]; then
|
elif [ ! "$req_ver" = "-" ]; then
|
||||||
latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
|
latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
|
||||||
if [ ! "$latest_ver" = "$inst_ver" ]; then
|
if [ ! "$latest_ver" = "$inst_ver" ]; then
|
||||||
echo "$me: Error: '$app' version == $inst_ver is too old" >&2
|
echo "Error: '$app' version == $inst_ver is too old" >&2
|
||||||
echo " '$app' version >= $req_ver is required" >&2
|
echo " '$app' version >= $req_ver is required" >&2
|
||||||
ret=1
|
ret=1
|
||||||
fi
|
fi
|
||||||
@@ -442,30 +376,16 @@ check_versions() {
|
|||||||
print_versions() {
|
print_versions() {
|
||||||
echo "Program Min_version"
|
echo "Program Min_version"
|
||||||
echo "----------------------"
|
echo "----------------------"
|
||||||
printf %s "$buildreq"
|
printf "$buildreq"
|
||||||
echo "----------------------"
|
echo "----------------------"
|
||||||
# can't depend on column -t
|
# can't depend on column -t
|
||||||
}
|
}
|
||||||
|
|
||||||
use_libtool=0
|
|
||||||
# We'd like to use grep -E, to see if any of LT_INIT,
|
|
||||||
# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
|
|
||||||
# but that's not portable enough (e.g., for Solaris).
|
|
||||||
grep '^[ ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
|
|
||||||
&& use_libtool=1
|
|
||||||
grep '^[ ]*LT_INIT' configure.ac >/dev/null \
|
|
||||||
&& use_libtool=1
|
|
||||||
if test $use_libtool = 1; then
|
|
||||||
find_tool LIBTOOLIZE glibtoolize libtoolize
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! printf "$buildreq" | check_versions; then
|
if ! printf "$buildreq" | check_versions; then
|
||||||
echo >&2
|
test -f README-prereq &&
|
||||||
if test -f README-prereq; then
|
echo "See README-prereq for notes on obtaining these prerequisite programs:" >&2
|
||||||
echo "$0: See README-prereq for how to get the prerequisite programs" >&2
|
echo
|
||||||
else
|
print_versions
|
||||||
echo "$0: Please install the prerequisite programs" >&2
|
|
||||||
fi
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -476,18 +396,18 @@ if test -d .git && (git --version) >/dev/null 2>/dev/null ; then
|
|||||||
if git config merge.merge-changelog.driver >/dev/null ; then
|
if git config merge.merge-changelog.driver >/dev/null ; then
|
||||||
:
|
:
|
||||||
elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then
|
elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then
|
||||||
echo "$0: initializing git-merge-changelog driver"
|
echo "initializing git-merge-changelog driver"
|
||||||
git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
|
git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
|
||||||
git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
|
git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
|
||||||
else
|
else
|
||||||
echo "$0: consider installing git-merge-changelog from gnulib"
|
echo "consider installing git-merge-changelog from gnulib"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
cleanup_gnulib() {
|
cleanup_gnulib() {
|
||||||
status=$?
|
status=$?
|
||||||
rm -fr "$gnulib_path"
|
rm -fr gnulib
|
||||||
exit $status
|
exit $status
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -495,9 +415,6 @@ git_modules_config () {
|
|||||||
test -f .gitmodules && git config --file .gitmodules "$@"
|
test -f .gitmodules && git config --file .gitmodules "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
gnulib_path=`git_modules_config submodule.gnulib.path`
|
|
||||||
test -z "$gnulib_path" && gnulib_path=gnulib
|
|
||||||
|
|
||||||
# Get gnulib files.
|
# Get gnulib files.
|
||||||
|
|
||||||
case ${GNULIB_SRCDIR--} in
|
case ${GNULIB_SRCDIR--} in
|
||||||
@@ -507,58 +424,34 @@ case ${GNULIB_SRCDIR--} in
|
|||||||
git submodule init || exit $?
|
git submodule init || exit $?
|
||||||
git submodule update || exit $?
|
git submodule update || exit $?
|
||||||
|
|
||||||
elif [ ! -d "$gnulib_path" ]; then
|
elif [ ! -d gnulib ]; then
|
||||||
echo "$0: getting gnulib files..."
|
echo "$0: getting gnulib files..."
|
||||||
|
|
||||||
trap cleanup_gnulib 1 2 13 15
|
trap cleanup_gnulib 1 2 13 15
|
||||||
|
|
||||||
shallow=
|
git clone --help|grep depth > /dev/null && shallow='--depth 2' || shallow=
|
||||||
git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
|
git clone $shallow git://git.sv.gnu.org/gnulib ||
|
||||||
git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" ||
|
|
||||||
cleanup_gnulib
|
cleanup_gnulib
|
||||||
|
|
||||||
trap - 1 2 13 15
|
trap - 1 2 13 15
|
||||||
fi
|
fi
|
||||||
GNULIB_SRCDIR=$gnulib_path
|
GNULIB_SRCDIR=gnulib
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# Use GNULIB_SRCDIR as a reference.
|
# Redirect the gnulib submodule to the directory on the command line
|
||||||
|
# if possible.
|
||||||
if test -d "$GNULIB_SRCDIR"/.git && \
|
if test -d "$GNULIB_SRCDIR"/.git && \
|
||||||
git_modules_config submodule.gnulib.url >/dev/null; then
|
git_modules_config submodule.gnulib.url >/dev/null; then
|
||||||
|
git submodule init
|
||||||
|
GNULIB_SRCDIR=`cd $GNULIB_SRCDIR && pwd`
|
||||||
|
git_modules_config --replace-all submodule.gnulib.url $GNULIB_SRCDIR
|
||||||
echo "$0: getting gnulib files..."
|
echo "$0: getting gnulib files..."
|
||||||
if git submodule -h|grep -- --reference > /dev/null; then
|
git submodule update || exit $?
|
||||||
# Prefer the one-liner available in git 1.6.4 or newer.
|
GNULIB_SRCDIR=gnulib
|
||||||
git submodule update --init --reference "$GNULIB_SRCDIR" \
|
|
||||||
"$gnulib_path" || exit $?
|
|
||||||
else
|
|
||||||
# This fallback allows at least git 1.5.5.
|
|
||||||
if test -f "$gnulib_path"/gnulib-tool; then
|
|
||||||
# Since file already exists, assume submodule init already complete.
|
|
||||||
git submodule update || exit $?
|
|
||||||
else
|
|
||||||
# Older git can't clone into an empty directory.
|
|
||||||
rmdir "$gnulib_path" 2>/dev/null
|
|
||||||
git clone --reference "$GNULIB_SRCDIR" \
|
|
||||||
"$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \
|
|
||||||
&& git submodule init && git submodule update \
|
|
||||||
|| exit $?
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
GNULIB_SRCDIR=$gnulib_path
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if $bootstrap_sync; then
|
|
||||||
cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || {
|
|
||||||
echo "$0: updating bootstrap and restarting..."
|
|
||||||
exec sh -c \
|
|
||||||
'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
|
|
||||||
-- "$GNULIB_SRCDIR/build-aux/bootstrap" \
|
|
||||||
"$0" "$@" --no-bootstrap-sync
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
|
|
||||||
gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
|
gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
|
||||||
<$gnulib_tool || exit
|
<$gnulib_tool || exit
|
||||||
|
|
||||||
@@ -567,29 +460,27 @@ gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
|
|||||||
download_po_files() {
|
download_po_files() {
|
||||||
subdir=$1
|
subdir=$1
|
||||||
domain=$2
|
domain=$2
|
||||||
echo "$me: getting translations into $subdir for $domain..."
|
echo "$0: getting translations into $subdir for $domain..."
|
||||||
cmd=`printf "$po_download_command_format" "$domain" "$subdir"`
|
cmd=`printf "$po_download_command_format" "$domain" "$subdir"`
|
||||||
eval "$cmd"
|
eval "$cmd"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Mirror .po files to $po_dir/.reference and copy only the new
|
# Download .po files to $po_dir/.reference and copy only the new
|
||||||
# or modified ones into $po_dir. Also update $po_dir/LINGUAS.
|
# or modified ones into $po_dir. Also update $po_dir/LINGUAS.
|
||||||
# Note po files that exist locally only are left in $po_dir but will
|
|
||||||
# not be included in LINGUAS and hence will not be distributed.
|
|
||||||
update_po_files() {
|
update_po_files() {
|
||||||
# Directory containing primary .po files.
|
# Directory containing primary .po files.
|
||||||
# Overwrite them only when we're sure a .po file is new.
|
# Overwrite them only when we're sure a .po file is new.
|
||||||
po_dir=$1
|
po_dir=$1
|
||||||
domain=$2
|
domain=$2
|
||||||
|
|
||||||
# Mirror *.po files into this dir.
|
# Download *.po files into this dir.
|
||||||
# Usually contains *.s1 checksum files.
|
# Usually contains *.s1 checksum files.
|
||||||
ref_po_dir="$po_dir/.reference"
|
ref_po_dir="$po_dir/.reference"
|
||||||
|
|
||||||
test -d $ref_po_dir || mkdir $ref_po_dir || return
|
test -d $ref_po_dir || mkdir $ref_po_dir || return
|
||||||
download_po_files $ref_po_dir $domain \
|
download_po_files $ref_po_dir $domain \
|
||||||
&& ls "$ref_po_dir"/*.po 2>/dev/null |
|
&& ls "$ref_po_dir"/*.po 2>/dev/null |
|
||||||
sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
|
sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS"
|
||||||
|
|
||||||
langs=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'`
|
langs=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'`
|
||||||
test "$langs" = '*' && langs=x
|
test "$langs" = '*' && langs=x
|
||||||
@@ -601,7 +492,7 @@ update_po_files() {
|
|||||||
! test -f "$po_dir/$po.po" ||
|
! test -f "$po_dir/$po.po" ||
|
||||||
! $SHA1SUM -c --status "$cksum_file" \
|
! $SHA1SUM -c --status "$cksum_file" \
|
||||||
< "$new_po" > /dev/null; then
|
< "$new_po" > /dev/null; then
|
||||||
echo "$me: updated $po_dir/$po.po..."
|
echo "updated $po_dir/$po.po..."
|
||||||
cp "$new_po" "$po_dir/$po.po" \
|
cp "$new_po" "$po_dir/$po.po" \
|
||||||
&& $SHA1SUM < "$new_po" > "$cksum_file"
|
&& $SHA1SUM < "$new_po" > "$cksum_file"
|
||||||
fi
|
fi
|
||||||
@@ -619,6 +510,27 @@ case $SKIP_PO in
|
|||||||
fi;;
|
fi;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
check_dst_dir()
|
||||||
|
{
|
||||||
|
dst=$1
|
||||||
|
# If the destination directory doesn't exist, create it.
|
||||||
|
# This is required at least for "lib/uniwidth/cjk.h".
|
||||||
|
dst_dir=`dirname "$dst"`
|
||||||
|
if ! test -d "$dst_dir"; then
|
||||||
|
mkdir -p "$dst_dir"
|
||||||
|
|
||||||
|
# If we've just created a directory like lib/uniwidth,
|
||||||
|
# tell version control system(s) it's ignorable.
|
||||||
|
# FIXME: for now, this does only one level
|
||||||
|
parent=`dirname "$dst_dir"`
|
||||||
|
for dot_ig in x $vc_ignore; do
|
||||||
|
test $dot_ig = x && continue
|
||||||
|
ig=$parent/$dot_ig
|
||||||
|
insert_vc_ignore $ig `echo "$dst_dir"|sed 's,.*/,,'`
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
symlink_to_dir()
|
symlink_to_dir()
|
||||||
{
|
{
|
||||||
src=$1/$2
|
src=$1/$2
|
||||||
@@ -626,33 +538,18 @@ symlink_to_dir()
|
|||||||
|
|
||||||
test -f "$src" && {
|
test -f "$src" && {
|
||||||
|
|
||||||
# If the destination directory doesn't exist, create it.
|
check_dst_dir "$dst"
|
||||||
# This is required at least for "lib/uniwidth/cjk.h".
|
|
||||||
dst_dir=`dirname "$dst"`
|
|
||||||
if ! test -d "$dst_dir"; then
|
|
||||||
mkdir -p "$dst_dir"
|
|
||||||
|
|
||||||
# If we've just created a directory like lib/uniwidth,
|
|
||||||
# tell version control system(s) it's ignorable.
|
|
||||||
# FIXME: for now, this does only one level
|
|
||||||
parent=`dirname "$dst_dir"`
|
|
||||||
for dot_ig in x $vc_ignore; do
|
|
||||||
test $dot_ig = x && continue
|
|
||||||
ig=$parent/$dot_ig
|
|
||||||
insert_vc_ignore $ig `echo "$dst_dir"|sed 's,.*/,,'`
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
if $copy; then
|
if $copy; then
|
||||||
{
|
{
|
||||||
test ! -h "$dst" || {
|
test ! -h "$dst" || {
|
||||||
echo "$me: rm -f $dst" &&
|
echo "$0: rm -f $dst" &&
|
||||||
rm -f "$dst"
|
rm -f "$dst"
|
||||||
}
|
}
|
||||||
} &&
|
} &&
|
||||||
test -f "$dst" &&
|
test -f "$dst" &&
|
||||||
cmp -s "$src" "$dst" || {
|
cmp -s "$src" "$dst" || {
|
||||||
echo "$me: cp -fp $src $dst" &&
|
echo "$0: cp -fp $src $dst" &&
|
||||||
cp -fp "$src" "$dst"
|
cp -fp "$src" "$dst"
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -666,7 +563,7 @@ symlink_to_dir()
|
|||||||
*)
|
*)
|
||||||
case /$dst/ in
|
case /$dst/ in
|
||||||
*//* | */../* | */./* | /*/*/*/*/*/)
|
*//* | */../* | */./* | /*/*/*/*/*/)
|
||||||
echo >&2 "$me: invalid symlink calculation: $src -> $dst"
|
echo >&2 "$0: invalid symlink calculation: $src -> $dst"
|
||||||
exit 1;;
|
exit 1;;
|
||||||
/*/*/*/*/) dot_dots=../../../;;
|
/*/*/*/*/) dot_dots=../../../;;
|
||||||
/*/*/*/) dot_dots=../../;;
|
/*/*/*/) dot_dots=../../;;
|
||||||
@@ -674,7 +571,7 @@ symlink_to_dir()
|
|||||||
esac;;
|
esac;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo "$me: ln -fs $dot_dots$src $dst" &&
|
echo "$0: ln -fs $dot_dots$src $dst" &&
|
||||||
ln -fs "$dot_dots$src" "$dst"
|
ln -fs "$dot_dots$src" "$dst"
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
@@ -698,22 +595,18 @@ cp_mark_as_generated()
|
|||||||
*) c1= ; c2= ;;
|
*) c1= ; c2= ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# If the destination directory doesn't exist, create it.
|
|
||||||
# This is required at least for "lib/uniwidth/cjk.h".
|
|
||||||
dst_dir=`dirname "$cp_dst"`
|
|
||||||
test -d "$dst_dir" || mkdir -p "$dst_dir"
|
|
||||||
|
|
||||||
if test -z "$c1"; then
|
if test -z "$c1"; then
|
||||||
cmp -s "$cp_src" "$cp_dst" || {
|
cmp -s "$cp_src" "$cp_dst" || {
|
||||||
# Copy the file first to get proper permissions if it
|
# Copy the file first to get proper permissions if it
|
||||||
# doesn't already exist. Then overwrite the copy.
|
# doesn't already exist. Then overwrite the copy.
|
||||||
echo "$me: cp -f $cp_src $cp_dst" &&
|
echo "$0: cp -f $cp_src $cp_dst" &&
|
||||||
rm -f "$cp_dst" &&
|
rm -f "$cp_dst" &&
|
||||||
cp "$cp_src" "$cp_dst-t" &&
|
cp "$cp_src" "$cp_dst-t" &&
|
||||||
sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" &&
|
sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" &&
|
||||||
mv -f "$cp_dst-t" "$cp_dst"
|
mv -f "$cp_dst-t" "$cp_dst"
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
check_dst_dir "$cp_dst"
|
||||||
# Copy the file first to get proper permissions if it
|
# Copy the file first to get proper permissions if it
|
||||||
# doesn't already exist. Then overwrite the copy.
|
# doesn't already exist. Then overwrite the copy.
|
||||||
cp "$cp_src" "$cp_dst-t" &&
|
cp "$cp_src" "$cp_dst-t" &&
|
||||||
@@ -725,7 +618,7 @@ cp_mark_as_generated()
|
|||||||
if cmp -s "$cp_dst-t" "$cp_dst"; then
|
if cmp -s "$cp_dst-t" "$cp_dst"; then
|
||||||
rm -f "$cp_dst-t"
|
rm -f "$cp_dst-t"
|
||||||
else
|
else
|
||||||
echo "$me: cp $cp_src $cp_dst # with edits" &&
|
echo "$0: cp $cp_src $cp_dst # with edits" &&
|
||||||
mv -f "$cp_dst-t" "$cp_dst"
|
mv -f "$cp_dst-t" "$cp_dst"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -744,7 +637,7 @@ version_controlled_file() {
|
|||||||
elif test -d .svn; then
|
elif test -d .svn; then
|
||||||
svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes
|
svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes
|
||||||
else
|
else
|
||||||
echo "$me: no version control for $dir/$file?" >&2
|
echo "$0: no version control for $dir/$file?" >&2
|
||||||
fi
|
fi
|
||||||
test $found = yes
|
test $found = yes
|
||||||
}
|
}
|
||||||
@@ -756,34 +649,31 @@ slurp() {
|
|||||||
for file in `ls -a $1/$dir`; do
|
for file in `ls -a $1/$dir`; do
|
||||||
case $file in
|
case $file in
|
||||||
.|..) continue;;
|
.|..) continue;;
|
||||||
# FIXME: should all file names starting with "." be ignored?
|
.*) continue;; # FIXME: should all file names starting with "." be ignored?
|
||||||
.*) continue;;
|
|
||||||
esac
|
esac
|
||||||
test -d $1/$dir/$file && continue
|
test -d $1/$dir/$file && continue
|
||||||
for excluded_file in $excluded_files; do
|
for excluded_file in $excluded_files; do
|
||||||
test "$dir/$file" = "$excluded_file" && continue 2
|
test "$dir/$file" = "$excluded_file" && continue 2
|
||||||
done
|
done
|
||||||
if test $file = Makefile.am && test "X$gnulib_mk" != XMakefile.am; then
|
if test $file = Makefile.am; then
|
||||||
copied=$copied${sep}$gnulib_mk; sep=$nl
|
copied=$copied${sep}$gnulib_mk; sep=$nl
|
||||||
remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
|
remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
|
||||||
sed "$remove_intl" $1/$dir/$file |
|
sed "$remove_intl" $1/$dir/$file | cmp - $dir/$gnulib_mk > /dev/null || {
|
||||||
cmp - $dir/$gnulib_mk > /dev/null || {
|
echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
|
||||||
echo "$me: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
|
|
||||||
rm -f $dir/$gnulib_mk &&
|
rm -f $dir/$gnulib_mk &&
|
||||||
sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk &&
|
sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk
|
||||||
gnulib_mk_hook $dir/$gnulib_mk
|
|
||||||
}
|
}
|
||||||
elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
|
elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
|
||||||
version_controlled_file $dir $file; then
|
version_controlled_file $dir $file; then
|
||||||
echo "$me: $dir/$file overrides $1/$dir/$file"
|
echo "$0: $dir/$file overrides $1/$dir/$file"
|
||||||
else
|
else
|
||||||
copied=$copied$sep$file; sep=$nl
|
copied=$copied$sep$file; sep=$nl
|
||||||
if test $file = gettext.m4; then
|
if test $file = gettext.m4; then
|
||||||
echo "$me: patching m4/gettext.m4 to remove need for intl/* ..."
|
echo "$0: patching m4/gettext.m4 to remove need for intl/* ..."
|
||||||
rm -f $dir/$file
|
rm -f $dir/$file
|
||||||
sed '
|
sed '
|
||||||
/^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\
|
/^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\
|
||||||
AC_DEFUN([AM_INTL_SUBDIR], [])
|
AC_DEFUN([AM_INTL_SUBDIR], [
|
||||||
/^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\
|
/^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\
|
||||||
AC_DEFUN([gt_INTL_SUBDIR_CORE], [])
|
AC_DEFUN([gt_INTL_SUBDIR_CORE], [])
|
||||||
$a\
|
$a\
|
||||||
@@ -804,14 +694,7 @@ slurp() {
|
|||||||
# the name with just ".h". Many gnulib headers are generated,
|
# the name with just ".h". Many gnulib headers are generated,
|
||||||
# e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc.
|
# e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc.
|
||||||
# Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed
|
# Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed
|
||||||
f=`echo "$copied" |
|
f=`echo "$copied"|sed 's/\.in\.h$/.h/;s/\.sin$/.sed/;s/\.y$/.c/;s/\.gperf$/.h/'`
|
||||||
sed '
|
|
||||||
s/\.in\.h$/.h/
|
|
||||||
s/\.sin$/.sed/
|
|
||||||
s/\.y$/.c/
|
|
||||||
s/\.gperf$/.h/
|
|
||||||
'
|
|
||||||
`
|
|
||||||
insert_vc_ignore $ig "$f"
|
insert_vc_ignore $ig "$f"
|
||||||
|
|
||||||
# For files like sys_stat.in.h and sys_time.in.h, record as
|
# For files like sys_stat.in.h and sys_time.in.h, record as
|
||||||
@@ -842,12 +725,6 @@ gnulib_tool_options="\
|
|||||||
--local-dir $local_gl_dir\
|
--local-dir $local_gl_dir\
|
||||||
$gnulib_tool_option_extras\
|
$gnulib_tool_option_extras\
|
||||||
"
|
"
|
||||||
if test $use_libtool = 1; then
|
|
||||||
case "$gnulib_tool_options " in
|
|
||||||
*' --libtool '*) ;;
|
|
||||||
*) gnulib_tool_options="$gnulib_tool_options --libtool" ;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
|
echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
|
||||||
$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
|
$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
|
||||||
slurp $bt || exit
|
slurp $bt || exit
|
||||||
@@ -890,18 +767,26 @@ grep -E '^[ ]*AC_CONFIG_HEADERS?\>' configure.ac >/dev/null ||
|
|||||||
|
|
||||||
for command in \
|
for command in \
|
||||||
libtool \
|
libtool \
|
||||||
"${ACLOCAL-aclocal} --force -I '$m4_base' $ACLOCAL_FLAGS" \
|
"${ACLOCAL-aclocal} --force -I m4" \
|
||||||
"${AUTOCONF-autoconf} --force" \
|
"${AUTOCONF-autoconf} --force" \
|
||||||
"${AUTOHEADER-autoheader} --force" \
|
"${AUTOHEADER-autoheader} --force" \
|
||||||
"${AUTOMAKE-automake} --add-missing --copy --force-missing"
|
"${AUTOMAKE-automake} --add-missing --copy --force-missing"
|
||||||
do
|
do
|
||||||
if test "$command" = libtool; then
|
if test "$command" = libtool; then
|
||||||
|
use_libtool=0
|
||||||
|
# We'd like to use grep -E, to see if any of LT_INIT,
|
||||||
|
# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
|
||||||
|
# but that's not portable enough (e.g., for Solaris).
|
||||||
|
grep '^[ ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
|
||||||
|
&& use_libtool=1
|
||||||
|
grep '^[ ]*LT_INIT' configure.ac >/dev/null \
|
||||||
|
&& use_libtool=1
|
||||||
test $use_libtool = 0 \
|
test $use_libtool = 0 \
|
||||||
&& continue
|
&& continue
|
||||||
command="${LIBTOOLIZE-libtoolize} -c -f"
|
command="${LIBTOOLIZE-libtoolize} -c -f"
|
||||||
fi
|
fi
|
||||||
echo "$0: $command ..."
|
echo "$0: $command ..."
|
||||||
eval "$command" || exit
|
$command || exit
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
@@ -921,14 +806,13 @@ if test $with_gettext = yes; then
|
|||||||
rm -f po/Makevars
|
rm -f po/Makevars
|
||||||
sed '
|
sed '
|
||||||
/^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
|
/^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
|
||||||
/^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/
|
/^MSGID_BUGS_ADDRESS *=/s/=.*/= '"$MSGID_BUGS_ADDRESS"'/
|
||||||
/^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$MSGID_BUGS_ADDRESS"'|
|
|
||||||
/^XGETTEXT_OPTIONS *=/{
|
/^XGETTEXT_OPTIONS *=/{
|
||||||
s/$/ \\/
|
s/$/ \\/
|
||||||
a\
|
a\
|
||||||
'"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
|
'"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
|
||||||
}
|
}
|
||||||
' po/Makevars.template >po/Makevars || exit 1
|
' po/Makevars.template >po/Makevars
|
||||||
|
|
||||||
if test -d runtime-po; then
|
if test -d runtime-po; then
|
||||||
# Similarly for runtime-po/Makevars, but not quite the same.
|
# Similarly for runtime-po/Makevars, but not quite the same.
|
||||||
@@ -942,7 +826,7 @@ if test $with_gettext = yes; then
|
|||||||
a\
|
a\
|
||||||
'"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
|
'"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
|
||||||
}
|
}
|
||||||
' po/Makevars.template >runtime-po/Makevars || exit 1
|
' <po/Makevars.template >runtime-po/Makevars
|
||||||
|
|
||||||
# Copy identical files from po to runtime-po.
|
# Copy identical files from po to runtime-po.
|
||||||
(cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
|
(cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
|
||||||
@@ -953,10 +837,6 @@ bootstrap_epilogue
|
|||||||
|
|
||||||
echo "$0: done. Now you can run './configure'."
|
echo "$0: done. Now you can run './configure'."
|
||||||
|
|
||||||
# Local variables:
|
# Local Variables:
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# indent-tabs-mode: nil
|
||||||
# time-stamp-start: "scriptversion="
|
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
|
||||||
# time-stamp-time-zone: "UTC"
|
|
||||||
# time-stamp-end: "; # UTC"
|
|
||||||
# End:
|
# End:
|
||||||
|
|||||||
+18
-19
@@ -1,6 +1,6 @@
|
|||||||
# Bootstrap configuration.
|
# Bootstrap configuration.
|
||||||
|
|
||||||
# Copyright (C) 2006-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -17,17 +17,13 @@
|
|||||||
|
|
||||||
# gnulib modules used by this package.
|
# gnulib modules used by this package.
|
||||||
gnulib_modules='
|
gnulib_modules='
|
||||||
announce-gen argmatch assert calloc-posix close config-h c-strcase
|
announce-gen argmatch assert config-h c-strcase configmake dirname
|
||||||
configmake dirname error extensions fopen-safer gendocs getopt-gnu
|
error extensions fopen-safer gendocs getopt-gnu gettext
|
||||||
gettext git-version-gen hash inttypes isnan javacomp-script
|
git-version-gen hash inttypes javacomp-script javaexec-script
|
||||||
javaexec-script ldexpl maintainer-makefile malloc-gnu mbschr mbsrchr
|
maintainer-makefile malloc mbswidth obstack pipe quote quotearg
|
||||||
mbswidth obstack perror pipe-posix quote quotearg realloc-posix
|
stdbool stpcpy strerror strtoul strverscmp unistd unistd-safer
|
||||||
spawn-pipe stdbool stpcpy strdup-posix strerror strtoul strverscmp
|
unlocked-io update-copyright unsetenv verify warnings xalloc
|
||||||
unistd unistd-safer unlocked-io update-copyright unsetenv verify
|
xalloc-die xstrndup
|
||||||
warnings xalloc xalloc-die xstrndup
|
|
||||||
|
|
||||||
fprintf-posix printf-posix snprintf-posix sprintf-posix
|
|
||||||
vsnprintf-posix vsprintf-posix
|
|
||||||
'
|
'
|
||||||
|
|
||||||
# Additional xgettext options to use. Use "\\\newline" to break lines.
|
# Additional xgettext options to use. Use "\\\newline" to break lines.
|
||||||
@@ -46,30 +42,33 @@ XGETTEXT_OPTIONS_RUNTIME=$XGETTEXT_OPTIONS'\\\
|
|||||||
# Gettext supplies these files, but we don't need them since
|
# Gettext supplies these files, but we don't need them since
|
||||||
# we don't have an intl subdirectory.
|
# we don't have an intl subdirectory.
|
||||||
excluded_files='
|
excluded_files='
|
||||||
|
m4/codeset.m4
|
||||||
m4/glibc2.m4
|
m4/glibc2.m4
|
||||||
|
m4/glibc21.m4
|
||||||
m4/intdiv0.m4
|
m4/intdiv0.m4
|
||||||
m4/intl.m4
|
m4/intl.m4
|
||||||
m4/intldir.m4
|
m4/intldir.m4
|
||||||
m4/intmax.m4
|
m4/intmax.m4
|
||||||
|
m4/inttypes_h.m4
|
||||||
m4/lcmessage.m4
|
m4/lcmessage.m4
|
||||||
m4/lock.m4
|
m4/lock.m4
|
||||||
m4/longdouble.m4
|
m4/longdouble.m4
|
||||||
|
m4/printf-posix.m4
|
||||||
m4/signed.m4
|
m4/signed.m4
|
||||||
|
m4/size_max.m4
|
||||||
m4/uintmax_t.m4
|
m4/uintmax_t.m4
|
||||||
m4/ulonglong.m4
|
m4/ulonglong.m4
|
||||||
m4/visibility.m4
|
m4/visibility.m4
|
||||||
|
m4/xsize.m4
|
||||||
'
|
'
|
||||||
|
|
||||||
|
# In directories like lib/, m4/, and po/, generate both these files because we
|
||||||
|
# still try to support CVS emulation.
|
||||||
|
vc_ignore='.cvsignore .gitignore'
|
||||||
|
|
||||||
bootstrap_epilogue()
|
bootstrap_epilogue()
|
||||||
{
|
{
|
||||||
# Make sure we don't need src/bison, which usually doesn't exist at
|
# Make sure we don't need src/bison, which usually doesn't exist at
|
||||||
# the time of a bootstrap.
|
# the time of a bootstrap.
|
||||||
touch src/parse-gram.[ch]
|
touch src/parse-gram.[ch]
|
||||||
}
|
}
|
||||||
|
|
||||||
# Keep our bootstrap script in sync with gnulib's. If we ever need to
|
|
||||||
# maintain our own bootstrap script again, set this to false, remove
|
|
||||||
# the bootstrap entry from the file .x-update-copyright, and add any
|
|
||||||
# needed copyright years to the copyright statement in the bootstrap
|
|
||||||
# script.
|
|
||||||
bootstrap_sync=true
|
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
announce-gen
|
||||||
|
arg-nonnull.h
|
||||||
|
c++defs.h
|
||||||
|
compile
|
||||||
|
config.guess
|
||||||
|
config.rpath
|
||||||
|
config.sub
|
||||||
|
depcomp
|
||||||
|
gendocs.sh
|
||||||
|
git-version-gen
|
||||||
|
install-sh
|
||||||
|
javacomp.sh.in
|
||||||
|
javaexec.sh.in
|
||||||
|
link-warning.h
|
||||||
|
mdate-sh
|
||||||
|
missing
|
||||||
|
texinfo.tex
|
||||||
|
update-copyright
|
||||||
|
useless-if-before-free
|
||||||
|
vc-list-files
|
||||||
|
warn-on-use.h
|
||||||
|
ylwrap
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
/Makefile
|
/Makefile
|
||||||
/Makefile.in
|
/Makefile.in
|
||||||
/announce-gen
|
/announce-gen
|
||||||
@@ -23,4 +22,3 @@
|
|||||||
/vc-list-files
|
/vc-list-files
|
||||||
/warn-on-use.h
|
/warn-on-use.h
|
||||||
/ylwrap
|
/ylwrap
|
||||||
|
|
||||||
|
|||||||
+10
-38
@@ -5,10 +5,7 @@ use 5.005;
|
|||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
my %option;
|
my %option;
|
||||||
my %directive;
|
while (<>)
|
||||||
my $scanner = `grep -i '"%[a-z]' $ARGV[0]`;
|
|
||||||
$scanner =~ s/"\[-_\]"/-/g;
|
|
||||||
while (<STDIN>)
|
|
||||||
{
|
{
|
||||||
if (/^\s* # Initial spaces.
|
if (/^\s* # Initial spaces.
|
||||||
(?:(-\w),\s+)? # $1: $short: Possible short option.
|
(?:(-\w),\s+)? # $1: $short: Possible short option.
|
||||||
@@ -19,14 +16,7 @@ while (<STDIN>)
|
|||||||
/x)
|
/x)
|
||||||
{
|
{
|
||||||
my ($short, $long, $opt, $arg) = ($1, $2, $3, $4);
|
my ($short, $long, $opt, $arg) = ($1, $2, $3, $4);
|
||||||
$short = '' if ! defined $short;
|
$short = defined $short ? '@option{' . $short . '}' : '';
|
||||||
$short = '-d' if $long eq '--defines' && ! $short;
|
|
||||||
my $dir = '%' . substr($long, 2);
|
|
||||||
if (index ($scanner, "\"$dir\"") < 0)
|
|
||||||
{
|
|
||||||
if ($long eq '--force-define') { $dir = '%define'; }
|
|
||||||
else { $dir = ''; }
|
|
||||||
}
|
|
||||||
if ($arg)
|
if ($arg)
|
||||||
{
|
{
|
||||||
# if $opt, $arg contains the closing ].
|
# if $opt, $arg contains the closing ].
|
||||||
@@ -34,7 +24,6 @@ while (<STDIN>)
|
|||||||
if $opt eq '[';
|
if $opt eq '[';
|
||||||
$arg =~ s/^=//;
|
$arg =~ s/^=//;
|
||||||
$arg = lc ($arg);
|
$arg = lc ($arg);
|
||||||
my $dir_arg = $arg;
|
|
||||||
# If the argument is compite (e.g., for --define[=NAME[=VALUE]]),
|
# If the argument is compite (e.g., for --define[=NAME[=VALUE]]),
|
||||||
# put each word in @var, to build @var{name}[=@var{value}], not
|
# put each word in @var, to build @var{name}[=@var{value}], not
|
||||||
# @var{name[=value]}].
|
# @var{name[=value]}].
|
||||||
@@ -44,36 +33,19 @@ while (<STDIN>)
|
|||||||
$long_arg = "[$long_arg]";
|
$long_arg = "[$long_arg]";
|
||||||
$arg = "[$arg]";
|
$arg = "[$arg]";
|
||||||
}
|
}
|
||||||
# For arguments of directives: this only works if all arguments
|
$option{"$long$long_arg"} = $short ? "$short $arg" : '';
|
||||||
# are strings and have the same syntax as on the command line.
|
}
|
||||||
if ($dir_arg eq 'name[=value]')
|
else
|
||||||
{
|
{
|
||||||
$dir_arg = '@var{name} ["@var{value}"]';
|
$option{"$long"} = "$short";
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$dir_arg =~ s/(\w+)/\@var{"$1"}/g;
|
|
||||||
$dir_arg = '[' . $dir_arg . ']'
|
|
||||||
if $opt eq '[';
|
|
||||||
}
|
|
||||||
$long = "$long$long_arg";
|
|
||||||
$short = "$short $arg" if $short && $short ne '-d';
|
|
||||||
$dir = "$dir $dir_arg" if $dir;
|
|
||||||
}
|
}
|
||||||
$option{$long} = $short;
|
|
||||||
$directive{$long} = $dir;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my $sep = '';
|
|
||||||
foreach my $long (sort keys %option)
|
foreach my $long (sort keys %option)
|
||||||
{
|
{
|
||||||
# Avoid trailing spaces.
|
# Avoid trailing spaces.
|
||||||
print $sep;
|
printf ("\@item %-40s \@tab%s\n",
|
||||||
$sep = "\n";
|
'@option{' . $long . '}',
|
||||||
print '@item @option{', $long, "}\n\@tab";
|
$option{$long} ? " $option{$long}" : "");
|
||||||
print ' @option{', $option{$long}, '}' if $option{$long};
|
|
||||||
print "\n\@tab";
|
|
||||||
print ' @code{', $directive{$long}, '}' if $directive{$long};
|
|
||||||
print "\n";
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2009, 2010 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
|
||||||
@@ -73,19 +73,10 @@ while (/($old_re)/gx)
|
|||||||
# Put spaces after commas.
|
# Put spaces after commas.
|
||||||
$year_lines =~ s/, ?/, /g;
|
$year_lines =~ s/, ?/, /g;
|
||||||
|
|
||||||
# Compress to intervals.
|
# Do not compress to intervals; for example, do not replace
|
||||||
$year_lines =~
|
# "2008, 2009, 2010" with "2008-2010". See the Copyright
|
||||||
s/
|
# Notices section in Information for Maintainers of GNU Software, at:
|
||||||
(\d{4})
|
# http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices
|
||||||
(?:
|
|
||||||
(,\ |-)
|
|
||||||
((??{
|
|
||||||
if ($2 eq '-') { '\d{4}'; }
|
|
||||||
elsif (!$3) { $1 + 1; }
|
|
||||||
else { $3 + 1; }
|
|
||||||
}))
|
|
||||||
)+
|
|
||||||
/$1-$3/gx;
|
|
||||||
|
|
||||||
# Format within margin.
|
# Format within margin.
|
||||||
my $year_lines_new;
|
my $year_lines_new;
|
||||||
|
|||||||
@@ -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-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Customize maint.mk -*- makefile -*-
|
# Customize maint.mk -*- makefile -*-
|
||||||
|
|
||||||
# Copyright (C) 2008-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2008, 2009, 2010 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
|
||||||
@@ -50,4 +50,4 @@ announcement_Cc_ = \
|
|||||||
|
|
||||||
update-copyright: update-b4-copyright update-package-copyright-year
|
update-copyright: update-b4-copyright update-package-copyright-year
|
||||||
update-copyright-env = \
|
update-copyright-env = \
|
||||||
UPDATE_COPYRIGHT_FORCE=1 UPDATE_COPYRIGHT_USE_INTERVALS=1
|
UPDATE_COPYRIGHT_FORCE=1
|
||||||
|
|||||||
+5
-3
@@ -1,6 +1,7 @@
|
|||||||
# Configure template for GNU Bison. -*-Autoconf-*-
|
# Configure template for GNU Bison. -*-Autoconf-*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||||
|
# 2010 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,9 +24,9 @@ AC_PREREQ(2.64)
|
|||||||
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_DEFINE([PACKAGE_COPYRIGHT_YEAR], [2011],
|
AC_DEFINE([PACKAGE_COPYRIGHT_YEAR], [2010],
|
||||||
[The copyright year for this package])
|
[The copyright year for this package])
|
||||||
AC_SUBST([PACKAGE_COPYRIGHT_YEAR], [2011])
|
AC_SUBST([PACKAGE_COPYRIGHT_YEAR], [2010])
|
||||||
|
|
||||||
AC_CONFIG_AUX_DIR([build-aux])
|
AC_CONFIG_AUX_DIR([build-aux])
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
@@ -84,6 +85,7 @@ if test "${enableval}" = yes; then
|
|||||||
WARN_CFLAGS_TEST="$WARN_CFLAGS $WARN_CFLAGS_TEST"
|
WARN_CFLAGS_TEST="$WARN_CFLAGS $WARN_CFLAGS_TEST"
|
||||||
AC_SUBST([WARN_CXXFLAGS_TEST])
|
AC_SUBST([WARN_CXXFLAGS_TEST])
|
||||||
AC_SUBST([WARN_CFLAGS_TEST])
|
AC_SUBST([WARN_CFLAGS_TEST])
|
||||||
|
AC_DEFINE([lint], 1, [Define to 1 if the compiler is checking for lint.])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
BISON_TEST_FOR_WORKING_C_COMPILER
|
BISON_TEST_FOR_WORKING_C_COMPILER
|
||||||
|
|||||||
+2
-1
@@ -1,4 +1,5 @@
|
|||||||
## Copyright (C) 2002, 2005-2011 Free Software Foundation, Inc.
|
## Copyright (C) 2002, 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -52,7 +52,7 @@ into various formats.
|
|||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 2002, 2008-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Bison.
|
This file is part of GNU Bison.
|
||||||
|
|
||||||
|
|||||||
+23
-45
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
# Language-independent M4 Macros for Bison.
|
# Language-independent M4 Macros for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2002, 2004-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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
|
||||||
@@ -312,13 +313,13 @@ b4_define_user_code([stype])
|
|||||||
|
|
||||||
|
|
||||||
# b4_check_user_names(WHAT, USER-LIST, BISON-NAMESPACE)
|
# b4_check_user_names(WHAT, USER-LIST, BISON-NAMESPACE)
|
||||||
# -----------------------------------------------------
|
# --------------------------------------------------------
|
||||||
# Complain if any name of type WHAT is used by the user (as recorded in
|
# Warn if any name of type WHAT is used by the user (as recorded in USER-LIST)
|
||||||
# USER-LIST) but is not used by Bison (as recorded by macros in the
|
# but is not used by Bison (as recorded by macros in the namespace
|
||||||
# namespace BISON-NAMESPACE).
|
# BISON-NAMESPACE).
|
||||||
#
|
#
|
||||||
# USER-LIST must expand to a list specifying all user occurrences of all names
|
# USER-LIST must expand to a list specifying all grammar occurrences of all
|
||||||
# of type WHAT. Each item in the list must be a triplet specifying one
|
# names of type WHAT. Each item in the list must be a triplet specifying one
|
||||||
# occurrence: name, start boundary, and end boundary. Empty string names are
|
# occurrence: name, start boundary, and end boundary. Empty string names are
|
||||||
# fine. An empty list is fine.
|
# fine. An empty list is fine.
|
||||||
#
|
#
|
||||||
@@ -353,35 +354,19 @@ m4_pushdef([b4_user_name], m4_car(b4_occurrence))dnl
|
|||||||
m4_pushdef([b4_start], m4_car(m4_shift(b4_occurrence)))dnl
|
m4_pushdef([b4_start], m4_car(m4_shift(b4_occurrence)))dnl
|
||||||
m4_pushdef([b4_end], m4_shift(m4_shift(b4_occurrence)))dnl
|
m4_pushdef([b4_end], m4_shift(m4_shift(b4_occurrence)))dnl
|
||||||
m4_ifndef($3[(]m4_quote(b4_user_name)[)],
|
m4_ifndef($3[(]m4_quote(b4_user_name)[)],
|
||||||
[b4_complain_at([b4_start], [b4_end],
|
[b4_warn_at([b4_start], [b4_end],
|
||||||
[[%s `%s' is not used]],
|
[[%s `%s' is not used]],
|
||||||
[$1], [b4_user_name])])[]dnl
|
[$1], [b4_user_name])])[]dnl
|
||||||
m4_popdef([b4_occurrence])dnl
|
m4_popdef([b4_occurrence])dnl
|
||||||
m4_popdef([b4_user_name])dnl
|
m4_popdef([b4_user_name])dnl
|
||||||
m4_popdef([b4_start])dnl
|
m4_popdef([b4_start])dnl
|
||||||
m4_popdef([b4_end])dnl
|
m4_popdef([b4_end])dnl
|
||||||
])])
|
])])
|
||||||
|
|
||||||
|
# b4_percent_define_get(VARIABLE)
|
||||||
|
|
||||||
|
|
||||||
## --------------------- ##
|
|
||||||
## b4_percent_define_*. ##
|
|
||||||
## --------------------- ##
|
|
||||||
|
|
||||||
|
|
||||||
# b4_percent_define_use(VARIABLE)
|
|
||||||
# -------------------------------
|
# -------------------------------
|
||||||
# Declare that VARIABLE was used.
|
# Mimic muscle_percent_define_get in ../src/muscle_tab.h exactly. That is, if
|
||||||
m4_define([b4_percent_define_use],
|
# the %define variable VARIABLE is defined, emit its value. Also, record
|
||||||
[m4_define([b4_percent_define_bison_variables(]$1[)])dnl
|
|
||||||
])
|
|
||||||
|
|
||||||
# b4_percent_define_get(VARIABLE, [DEFAULT])
|
|
||||||
# ------------------------------------------
|
|
||||||
# Mimic muscle_percent_define_get in ../src/muscle-tab.h. That is, if
|
|
||||||
# the %define variable VARIABLE is defined, emit its value. Contrary
|
|
||||||
# to its C counterpart, return DEFAULT otherwise. Also, record
|
|
||||||
# Bison's usage of VARIABLE by defining
|
# Bison's usage of VARIABLE by defining
|
||||||
# b4_percent_define_bison_variables(VARIABLE).
|
# b4_percent_define_bison_variables(VARIABLE).
|
||||||
#
|
#
|
||||||
@@ -389,15 +374,12 @@ m4_define([b4_percent_define_use],
|
|||||||
#
|
#
|
||||||
# b4_percent_define_get([[foo]])
|
# b4_percent_define_get([[foo]])
|
||||||
m4_define([b4_percent_define_get],
|
m4_define([b4_percent_define_get],
|
||||||
[b4_percent_define_use([$1])dnl
|
[m4_define([b4_percent_define_bison_variables(]$1[)])dnl
|
||||||
m4_ifdef([b4_percent_define(]$1[)],
|
m4_ifdef([b4_percent_define(]$1[)], [m4_indir([b4_percent_define(]$1[)])])])
|
||||||
[m4_indir([b4_percent_define(]$1[)])],
|
|
||||||
[$2])])
|
|
||||||
|
|
||||||
|
|
||||||
# b4_percent_define_get_loc(VARIABLE)
|
# b4_percent_define_get_loc(VARIABLE)
|
||||||
# -----------------------------------
|
# -----------------------------------
|
||||||
# Mimic muscle_percent_define_get_loc in ../src/muscle-tab.h exactly. That is,
|
# Mimic muscle_percent_define_get_loc in ../src/muscle_tab.h exactly. That is,
|
||||||
# if the %define variable VARIABLE is undefined, complain fatally since that's
|
# if the %define variable VARIABLE is undefined, complain fatally since that's
|
||||||
# a Bison or skeleton error. Otherwise, return its definition location in a
|
# a Bison or skeleton error. Otherwise, return its definition location in a
|
||||||
# form approriate for the first two arguments of b4_warn_at, b4_complain_at, or
|
# form approriate for the first two arguments of b4_warn_at, b4_complain_at, or
|
||||||
@@ -416,7 +398,7 @@ m4_popdef([b4_loc])],
|
|||||||
|
|
||||||
# b4_percent_define_get_syncline(VARIABLE)
|
# b4_percent_define_get_syncline(VARIABLE)
|
||||||
# ----------------------------------------
|
# ----------------------------------------
|
||||||
# Mimic muscle_percent_define_get_syncline in ../src/muscle-tab.h exactly.
|
# Mimic muscle_percent_define_get_syncline in ../src/muscle_tab.h exactly.
|
||||||
# That is, if the %define variable VARIABLE is undefined, complain fatally
|
# That is, if the %define variable VARIABLE is undefined, complain fatally
|
||||||
# since that's a Bison or skeleton error. Otherwise, return its definition
|
# since that's a Bison or skeleton error. Otherwise, return its definition
|
||||||
# location as a b4_syncline invocation. Don't record this as a Bison usage of
|
# location as a b4_syncline invocation. Don't record this as a Bison usage of
|
||||||
@@ -433,7 +415,7 @@ m4_define([b4_percent_define_get_syncline],
|
|||||||
|
|
||||||
# b4_percent_define_ifdef(VARIABLE, IF-TRUE, [IF-FALSE])
|
# b4_percent_define_ifdef(VARIABLE, IF-TRUE, [IF-FALSE])
|
||||||
# ------------------------------------------------------
|
# ------------------------------------------------------
|
||||||
# Mimic muscle_percent_define_ifdef in ../src/muscle-tab.h exactly. That is,
|
# Mimic muscle_percent_define_ifdef in ../src/muscle_tab.h exactly. That is,
|
||||||
# if the %define variable VARIABLE is defined, expand IF-TRUE, else expand
|
# if the %define variable VARIABLE is defined, expand IF-TRUE, else expand
|
||||||
# IF-FALSE. Also, record Bison's usage of VARIABLE by defining
|
# IF-FALSE. Also, record Bison's usage of VARIABLE by defining
|
||||||
# b4_percent_define_bison_variables(VARIABLE).
|
# b4_percent_define_bison_variables(VARIABLE).
|
||||||
@@ -448,7 +430,7 @@ m4_define([b4_percent_define_ifdef],
|
|||||||
|
|
||||||
# b4_percent_define_flag_if(VARIABLE, IF-TRUE, [IF-FALSE])
|
# b4_percent_define_flag_if(VARIABLE, IF-TRUE, [IF-FALSE])
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
# Mimic muscle_percent_define_flag_if in ../src/muscle-tab.h exactly. That is,
|
# Mimic muscle_percent_define_flag_if in ../src/muscle_tab.h exactly. That is,
|
||||||
# if the %define variable VARIABLE is defined to "" or "true", expand IF-TRUE.
|
# if the %define variable VARIABLE is defined to "" or "true", expand IF-TRUE.
|
||||||
# If it is defined to "false", expand IF-FALSE. Complain if it is undefined
|
# If it is defined to "false", expand IF-FALSE. Complain if it is undefined
|
||||||
# (a Bison or skeleton error since the default value should have been set
|
# (a Bison or skeleton error since the default value should have been set
|
||||||
@@ -471,7 +453,7 @@ m4_define([b4_percent_define_flag_if],
|
|||||||
|
|
||||||
# b4_percent_define_default(VARIABLE, DEFAULT)
|
# b4_percent_define_default(VARIABLE, DEFAULT)
|
||||||
# --------------------------------------------
|
# --------------------------------------------
|
||||||
# Mimic muscle_percent_define_default in ../src/muscle-tab.h exactly. That is,
|
# Mimic muscle_percent_define_default in ../src/muscle_tab.h exactly. That is,
|
||||||
# if the %define variable VARIABLE is undefined, set its value to DEFAULT.
|
# if the %define variable VARIABLE is undefined, set its value to DEFAULT.
|
||||||
# Don't record this as a Bison usage of VARIABLE as there's no reason to
|
# Don't record this as a Bison usage of VARIABLE as there's no reason to
|
||||||
# suspect that the value has yet influenced the output.
|
# suspect that the value has yet influenced the output.
|
||||||
@@ -489,7 +471,7 @@ m4_define([b4_percent_define_default],
|
|||||||
|
|
||||||
# b4_percent_define_check_values(VALUES)
|
# b4_percent_define_check_values(VALUES)
|
||||||
# --------------------------------------
|
# --------------------------------------
|
||||||
# Mimic muscle_percent_define_check_values in ../src/muscle-tab.h exactly
|
# Mimic muscle_percent_define_check_values in ../src/muscle_tab.h exactly
|
||||||
# except that the VALUES structure is more appropriate for M4. That is, VALUES
|
# except that the VALUES structure is more appropriate for M4. That is, VALUES
|
||||||
# is a list of sublists of strings. For each sublist, the first string is the
|
# is a list of sublists of strings. For each sublist, the first string is the
|
||||||
# name of a %define variable, and all remaining strings in that sublist are the
|
# name of a %define variable, and all remaining strings in that sublist are the
|
||||||
@@ -518,11 +500,7 @@ m4_define([_b4_percent_define_check_values],
|
|||||||
[b4_complain_at(b4_percent_define_get_loc([$1]),
|
[b4_complain_at(b4_percent_define_get_loc([$1]),
|
||||||
[[invalid value for %%define variable `%s': `%s']],
|
[[invalid value for %%define variable `%s': `%s']],
|
||||||
[$1],
|
[$1],
|
||||||
m4_dquote(m4_indir([b4_percent_define(]$1[)])))
|
m4_dquote(m4_indir([b4_percent_define(]$1[)])))])dnl
|
||||||
m4_foreach([b4_value], m4_dquote(m4_shift($@)),
|
|
||||||
[b4_complain_at(b4_percent_define_get_loc([$1]),
|
|
||||||
[[accepted value: `%s']],
|
|
||||||
m4_dquote(b4_value))])])dnl
|
|
||||||
m4_popdef([b4_good_value])],
|
m4_popdef([b4_good_value])],
|
||||||
[b4_fatal([[undefined %%define variable `%s' passed to b4_percent_define_check_values]], [$1])])])
|
[b4_fatal([[undefined %%define variable `%s' passed to b4_percent_define_check_values]], [$1])])])
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# C++ skeleton dispatching for Bison.
|
# C++ skeleton dispatching for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2006, 2007, 2009, 2010 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
-9
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -25,12 +26,7 @@ m4_include(b4_pkgdatadir/[c.m4])
|
|||||||
|
|
||||||
# Default parser class name.
|
# Default parser class name.
|
||||||
b4_percent_define_default([[parser_class_name]], [[parser]])
|
b4_percent_define_default([[parser_class_name]], [[parser]])
|
||||||
|
b4_percent_define_default([[location_type]], [[location]])
|
||||||
# Don't do that so that we remember whether we're using a user
|
|
||||||
# request, or the default value.
|
|
||||||
#
|
|
||||||
# b4_percent_define_default([[location_type]], [[location]])
|
|
||||||
|
|
||||||
b4_percent_define_default([[filename_type]], [[std::string]])
|
b4_percent_define_default([[filename_type]], [[std::string]])
|
||||||
b4_percent_define_default([[namespace]], m4_defn([b4_prefix]))
|
b4_percent_define_default([[namespace]], m4_defn([b4_prefix]))
|
||||||
b4_percent_define_default([[global_tokens_and_yystype]], [[false]])
|
b4_percent_define_default([[global_tokens_and_yystype]], [[false]])
|
||||||
@@ -79,9 +75,9 @@ m4_define([b4_namespace_open],
|
|||||||
m4_define([b4_namespace_close],
|
m4_define([b4_namespace_close],
|
||||||
[b4_user_code([b4_percent_define_get_syncline([[namespace]])
|
[b4_user_code([b4_percent_define_get_syncline([[namespace]])
|
||||||
m4_bpatsubst(m4_dquote(m4_bpatsubst(m4_dquote(b4_namespace_ref[ ]),
|
m4_bpatsubst(m4_dquote(m4_bpatsubst(m4_dquote(b4_namespace_ref[ ]),
|
||||||
[^\(.\)[ ]*\(::\)?\([^][:]\|:[^:]\)*],
|
[^\(.\)[ ]*\(::\)?\([^][:]\|:[^][:]\)*],
|
||||||
[\1])),
|
[\1])),
|
||||||
[::\([^][:]\|:[^:]\)*], [} ])[} // ]b4_namespace_ref])])
|
[::\([^][:]\|:[^][:]\)*], [} ])[} // ]b4_namespace_ref])])
|
||||||
|
|
||||||
|
|
||||||
# b4_token_enums(LIST-OF-PAIRS-TOKEN-NAME-TOKEN-NUMBER)
|
# b4_token_enums(LIST-OF-PAIRS-TOKEN-NAME-TOKEN-NUMBER)
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# C skeleton dispatching for Bison.
|
# C skeleton dispatching for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
# C M4 Macros for Bison.
|
# C M4 Macros for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2002, 2004-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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,7 +32,7 @@ m4_define([b4_comment], [/* m4_bpatsubst([$1], [
|
|||||||
# -----------------
|
# -----------------
|
||||||
# Depends on individual skeletons to define b4_pure_flag, b4_push_flag, or
|
# Depends on individual skeletons to define b4_pure_flag, b4_push_flag, or
|
||||||
# b4_pull_flag if they use the values of the %define variables api.pure or
|
# b4_pull_flag if they use the values of the %define variables api.pure or
|
||||||
# api.push-pull.
|
# api.push_pull.
|
||||||
m4_define([b4_identification],
|
m4_define([b4_identification],
|
||||||
[[/* Identify Bison output. */
|
[[/* Identify Bison output. */
|
||||||
#define YYBISON 1
|
#define YYBISON 1
|
||||||
@@ -134,17 +135,6 @@ m4_define([b4_int_type_for],
|
|||||||
[b4_int_type($1_min, $1_max)])
|
[b4_int_type($1_min, $1_max)])
|
||||||
|
|
||||||
|
|
||||||
# b4_table_value_equals(TABLE, VALUE, LITERAL)
|
|
||||||
# --------------------------------------------
|
|
||||||
# Without inducing a comparison warning from the compiler, check if the
|
|
||||||
# literal value LITERAL equals VALUE from table TABLE, which must have
|
|
||||||
# TABLE_min and TABLE_max defined. YYID must be defined as an identity
|
|
||||||
# function that suppresses warnings about constant conditions.
|
|
||||||
m4_define([b4_table_value_equals],
|
|
||||||
[m4_if(m4_eval($3 < m4_indir([b4_]$1[_min])
|
|
||||||
|| m4_indir([b4_]$1[_max]) < $3), [1],
|
|
||||||
[[YYID (0)]],
|
|
||||||
[[((]$2[) == (]$3[))]])])
|
|
||||||
|
|
||||||
## ---------##
|
## ---------##
|
||||||
## Values. ##
|
## Values. ##
|
||||||
|
|||||||
+119
-142
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
# GLR skeleton for Bison
|
# GLR skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||||
|
# 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -35,8 +36,8 @@ m4_define_default([b4_stack_depth_init], [200])
|
|||||||
## ------------------------ ##
|
## ------------------------ ##
|
||||||
|
|
||||||
b4_define_flag_if([pure])
|
b4_define_flag_if([pure])
|
||||||
# If glr.cc is including this file and thus has already set b4_pure_flag,
|
# If glr.cc is including this file and thus has already set b4_pure_flag, don't
|
||||||
# do not change the value of b4_pure_flag, and do not record a use of api.pure.
|
# change the value of b4_pure_flag, and don't record a use of api.pure.
|
||||||
m4_ifndef([b4_pure_flag],
|
m4_ifndef([b4_pure_flag],
|
||||||
[b4_percent_define_default([[api.pure]], [[false]])
|
[b4_percent_define_default([[api.pure]], [[false]])
|
||||||
m4_define([b4_pure_flag],
|
m4_define([b4_pure_flag],
|
||||||
@@ -150,7 +151,7 @@ m4_changecom()
|
|||||||
m4_divert_push(0)dnl
|
m4_divert_push(0)dnl
|
||||||
@output(b4_parser_file_name@)@
|
@output(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-2011])
|
[2002, 2003, 2004, 2005, 2006, 2009, 2010])
|
||||||
[
|
[
|
||||||
/* C GLR parser skeleton written by Paul Hilfinger. */
|
/* C GLR parser skeleton written by Paul Hilfinger. */
|
||||||
|
|
||||||
@@ -413,9 +414,9 @@ static const ]b4_int_type_for([b4_merger])[ yymerger[] =
|
|||||||
]b4_merger[
|
]b4_merger[
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYDEFACT[S] -- default reduction number in state S. Performed when
|
/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
|
||||||
YYTABLE doesn't specify something else to do. Zero means the default
|
doesn't specify something else to do. Zero means the default is an
|
||||||
is an error. */
|
error. */
|
||||||
static const ]b4_int_type_for([b4_defact])[ yydefact[] =
|
static const ]b4_int_type_for([b4_defact])[ yydefact[] =
|
||||||
{
|
{
|
||||||
]b4_defact[
|
]b4_defact[
|
||||||
@@ -443,7 +444,8 @@ static const ]b4_int_type_for([b4_pgoto])[ yypgoto[] =
|
|||||||
|
|
||||||
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
||||||
positive, shift that token. If negative, reduce the rule which
|
positive, shift that token. If negative, reduce the rule which
|
||||||
number is the opposite. If YYTABLE_NINF, syntax error. */
|
number is the opposite. If zero, do what YYDEFACT says.
|
||||||
|
If YYTABLE_NINF, syntax error. */
|
||||||
#define YYTABLE_NINF ]b4_table_ninf[
|
#define YYTABLE_NINF ]b4_table_ninf[
|
||||||
static const ]b4_int_type_for([b4_table])[ yytable[] =
|
static const ]b4_int_type_for([b4_table])[ yytable[] =
|
||||||
{
|
{
|
||||||
@@ -1013,15 +1015,17 @@ yylhsNonterm (yyRuleNum yyrule)
|
|||||||
return yyr1[yyrule];
|
return yyr1[yyrule];
|
||||||
}
|
}
|
||||||
|
|
||||||
#define yypact_value_is_default(yystate) \
|
#define yyis_pact_ninf(yystate) \
|
||||||
]b4_table_value_equals([[pact]], [[yystate]], [b4_pact_ninf])[
|
]m4_if(m4_eval(b4_pact_ninf < b4_pact_min), [1],
|
||||||
|
[0],
|
||||||
|
[((yystate) == YYPACT_NINF)])[
|
||||||
|
|
||||||
/** True iff LR state STATE has only a default reduction (regardless
|
/** True iff LR state STATE has only a default reduction (regardless
|
||||||
* of token). */
|
* of token). */
|
||||||
static inline yybool
|
static inline yybool
|
||||||
yyisDefaultedState (yyStateNum yystate)
|
yyisDefaultedState (yyStateNum yystate)
|
||||||
{
|
{
|
||||||
return yypact_value_is_default (yypact[yystate]);
|
return yyis_pact_ninf (yypact[yystate]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The default reduction for STATE, assuming it has one. */
|
/** The default reduction for STATE, assuming it has one. */
|
||||||
@@ -1031,8 +1035,10 @@ yydefaultAction (yyStateNum yystate)
|
|||||||
return yydefact[yystate];
|
return yydefact[yystate];
|
||||||
}
|
}
|
||||||
|
|
||||||
#define yytable_value_is_error(yytable_value) \
|
#define yyis_table_ninf(yytable_value) \
|
||||||
]b4_table_value_equals([[table]], [[yytable_value]], [b4_table_ninf])[
|
]m4_if(m4_eval(b4_table_ninf < b4_table_min), [1],
|
||||||
|
[YYID (0)],
|
||||||
|
[((yytable_value) == YYTABLE_NINF)])[
|
||||||
|
|
||||||
/** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
|
/** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
|
||||||
* Result R means
|
* Result R means
|
||||||
@@ -1047,13 +1053,12 @@ yygetLRActions (yyStateNum yystate, int yytoken,
|
|||||||
int* yyaction, const short int** yyconflicts)
|
int* yyaction, const short int** yyconflicts)
|
||||||
{
|
{
|
||||||
int yyindex = yypact[yystate] + yytoken;
|
int yyindex = yypact[yystate] + yytoken;
|
||||||
if (yypact_value_is_default (yypact[yystate])
|
if (yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken)
|
||||||
|| yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken)
|
|
||||||
{
|
{
|
||||||
*yyaction = -yydefact[yystate];
|
*yyaction = -yydefact[yystate];
|
||||||
*yyconflicts = yyconfl;
|
*yyconflicts = yyconfl;
|
||||||
}
|
}
|
||||||
else if (! yytable_value_is_error (yytable[yyindex]))
|
else if (! yyis_table_ninf (yytable[yyindex]))
|
||||||
{
|
{
|
||||||
*yyaction = yytable[yyindex];
|
*yyaction = yytable[yyindex];
|
||||||
*yyconflicts = yyconfl + yyconflp[yyindex];
|
*yyconflicts = yyconfl + yyconflp[yyindex];
|
||||||
@@ -1802,7 +1807,7 @@ yyreportAmbiguity (yySemanticOption* yyx0,
|
|||||||
|
|
||||||
yyerror (]b4_yyerror_args[YY_("syntax is ambiguous"));
|
yyerror (]b4_yyerror_args[YY_("syntax is ambiguous"));
|
||||||
return yyabort;
|
return yyabort;
|
||||||
}]b4_locations_if([[
|
}
|
||||||
|
|
||||||
/** Starting at and including state S1, resolve the location for each of the
|
/** Starting at and including state S1, resolve the location for each of the
|
||||||
* previous N1 states that is unresolved. The first semantic option of a state
|
* previous N1 states that is unresolved. The first semantic option of a state
|
||||||
@@ -1860,7 +1865,7 @@ yyresolveLocations (yyGLRState* yys1, int yyn1,
|
|||||||
yylloc = yylloc_current;
|
yylloc = yylloc_current;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}]])[
|
}
|
||||||
|
|
||||||
/** Resolve the ambiguity represented in state S, perform the indicated
|
/** Resolve the ambiguity represented in state S, perform the indicated
|
||||||
* actions, and set the semantic value of S. If result != yyok, the chain of
|
* actions, and set the semantic value of S. If result != yyok, the chain of
|
||||||
@@ -1894,8 +1899,8 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp]b4_user_formals[)
|
|||||||
{
|
{
|
||||||
switch (yypreference (yybest, yyp))
|
switch (yypreference (yybest, yyp))
|
||||||
{
|
{
|
||||||
case 0:]b4_locations_if([[
|
case 0:
|
||||||
yyresolveLocations (yys, 1, yystackp]b4_user_args[);]])[
|
yyresolveLocations (yys, 1, yystackp]b4_user_args[);
|
||||||
return yyreportAmbiguity (yybest, yyp]b4_pure_args[);
|
return yyreportAmbiguity (yybest, yyp]b4_pure_args[);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -2088,130 +2093,102 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
|
|||||||
/*ARGSUSED*/ static void
|
/*ARGSUSED*/ static void
|
||||||
yyreportSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
|
yyreportSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
|
||||||
{
|
{
|
||||||
if (yystackp->yyerrState != 0)
|
if (yystackp->yyerrState == 0)
|
||||||
return;
|
|
||||||
#if ! YYERROR_VERBOSE
|
|
||||||
yyerror (]b4_lyyerror_args[YY_("syntax error"));
|
|
||||||
#else
|
|
||||||
yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
|
|
||||||
size_t yysize0 = yytnamerr (NULL, yytokenName (yytoken));
|
|
||||||
size_t yysize = yysize0;
|
|
||||||
size_t yysize1;
|
|
||||||
yybool yysize_overflow = yyfalse;
|
|
||||||
char* yymsg = NULL;
|
|
||||||
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
|
|
||||||
/* Internationalized format string. */
|
|
||||||
const char *yyformat = 0;
|
|
||||||
/* Arguments of yyformat. */
|
|
||||||
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
|
|
||||||
/* Number of reported tokens (one for the "unexpected", one per
|
|
||||||
"expected"). */
|
|
||||||
int yycount = 0;
|
|
||||||
|
|
||||||
/* There are many possibilities here to consider:
|
|
||||||
- If this state is a consistent state with a default action, then
|
|
||||||
the only way this function was invoked is if the default action
|
|
||||||
is an error action. In that case, don't check for expected
|
|
||||||
tokens because there are none.
|
|
||||||
- The only way there can be no lookahead present (in yychar) is if
|
|
||||||
this state is a consistent state with a default action. Thus,
|
|
||||||
detecting the absence of a lookahead is sufficient to determine
|
|
||||||
that there is no unexpected or expected token to report. In that
|
|
||||||
case, just report a simple "syntax error".
|
|
||||||
- Don't assume there isn't a lookahead just because this state is a
|
|
||||||
consistent state with a default action. There might have been a
|
|
||||||
previous inconsistent state, consistent state with a non-default
|
|
||||||
action, or user semantic action that manipulated yychar.
|
|
||||||
- Of course, the expected token list depends on states to have
|
|
||||||
correct lookahead information, and it depends on the parser not
|
|
||||||
to perform extra reductions after fetching a lookahead from the
|
|
||||||
scanner and before detecting a syntax error. Thus, state merging
|
|
||||||
(from LALR or IELR) and default reductions corrupt the expected
|
|
||||||
token list. However, the list is correct for canonical LR with
|
|
||||||
one exception: it will still contain any token that will not be
|
|
||||||
accepted due to an error action in a later state.
|
|
||||||
*/
|
|
||||||
if (yytoken != YYEMPTY)
|
|
||||||
{
|
{
|
||||||
int yyn = yypact[yystackp->yytops.yystates[0]->yylrState];
|
#if YYERROR_VERBOSE
|
||||||
yyarg[yycount++] = yytokenName (yytoken);
|
int yyn;
|
||||||
if (!yypact_value_is_default (yyn))
|
yyn = yypact[yystackp->yytops.yystates[0]->yylrState];
|
||||||
{
|
if (YYPACT_NINF < yyn && yyn <= YYLAST)
|
||||||
/* Start YYX at -YYN if negative to avoid negative indexes in
|
{
|
||||||
YYCHECK. In other words, skip the first -YYN actions for this
|
yySymbol yytoken = YYTRANSLATE (yychar);
|
||||||
state because they are default actions. */
|
size_t yysize0 = yytnamerr (NULL, yytokenName (yytoken));
|
||||||
int yyxbegin = yyn < 0 ? -yyn : 0;
|
size_t yysize = yysize0;
|
||||||
/* Stay within bounds of both yycheck and yytname. */
|
size_t yysize1;
|
||||||
int yychecklim = YYLAST - yyn + 1;
|
yybool yysize_overflow = yyfalse;
|
||||||
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
|
char* yymsg = NULL;
|
||||||
int yyx;
|
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
|
||||||
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
|
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
|
||||||
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
|
int yyx;
|
||||||
&& !yytable_value_is_error (yytable[yyx + yyn]))
|
char *yyfmt;
|
||||||
{
|
char const *yyf;
|
||||||
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
|
static char const yyunexpected[] = "syntax error, unexpected %s";
|
||||||
{
|
static char const yyexpecting[] = ", expecting %s";
|
||||||
yycount = 1;
|
static char const yyor[] = " or %s";
|
||||||
yysize = yysize0;
|
char yyformat[sizeof yyunexpected
|
||||||
break;
|
+ sizeof yyexpecting - 1
|
||||||
}
|
+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
|
||||||
yyarg[yycount++] = yytokenName (yyx);
|
* (sizeof yyor - 1))];
|
||||||
yysize1 = yysize + yytnamerr (NULL, yytokenName (yyx));
|
char const *yyprefix = yyexpecting;
|
||||||
yysize_overflow |= yysize1 < yysize;
|
|
||||||
yysize = yysize1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (yycount)
|
/* Start YYX at -YYN if negative to avoid negative indexes in
|
||||||
{
|
YYCHECK. */
|
||||||
#define YYCASE_(N, S) \
|
int yyxbegin = yyn < 0 ? -yyn : 0;
|
||||||
case N: \
|
|
||||||
yyformat = S; \
|
|
||||||
break
|
|
||||||
YYCASE_(0, YY_("syntax error"));
|
|
||||||
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
|
||||||
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
|
||||||
YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
|
|
||||||
YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
|
|
||||||
YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
|
|
||||||
#undef YYCASE_
|
|
||||||
}
|
|
||||||
|
|
||||||
yysize1 = yysize + strlen (yyformat);
|
/* Stay within bounds of both yycheck and yytname. */
|
||||||
yysize_overflow |= yysize1 < yysize;
|
int yychecklim = YYLAST - yyn + 1;
|
||||||
yysize = yysize1;
|
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
|
||||||
|
int yycount = 1;
|
||||||
|
|
||||||
if (!yysize_overflow)
|
yyarg[0] = yytokenName (yytoken);
|
||||||
yymsg = (char *) YYMALLOC (yysize);
|
yyfmt = yystpcpy (yyformat, yyunexpected);
|
||||||
|
|
||||||
if (yymsg)
|
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
|
||||||
{
|
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
|
||||||
char *yyp = yymsg;
|
{
|
||||||
int yyi = 0;
|
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
|
||||||
while ((*yyp = *yyformat))
|
{
|
||||||
{
|
yycount = 1;
|
||||||
if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
|
yysize = yysize0;
|
||||||
{
|
yyformat[sizeof yyunexpected - 1] = '\0';
|
||||||
yyp += yytnamerr (yyp, yyarg[yyi++]);
|
break;
|
||||||
yyformat += 2;
|
}
|
||||||
}
|
yyarg[yycount++] = yytokenName (yyx);
|
||||||
else
|
yysize1 = yysize + yytnamerr (NULL, yytokenName (yyx));
|
||||||
{
|
yysize_overflow |= yysize1 < yysize;
|
||||||
yyp++;
|
yysize = yysize1;
|
||||||
yyformat++;
|
yyfmt = yystpcpy (yyfmt, yyprefix);
|
||||||
}
|
yyprefix = yyor;
|
||||||
}
|
}
|
||||||
yyerror (]b4_lyyerror_args[yymsg);
|
|
||||||
YYFREE (yymsg);
|
yyf = YY_(yyformat);
|
||||||
}
|
yysize1 = yysize + strlen (yyf);
|
||||||
else
|
yysize_overflow |= yysize1 < yysize;
|
||||||
{
|
yysize = yysize1;
|
||||||
yyerror (]b4_lyyerror_args[YY_("syntax error"));
|
|
||||||
yyMemoryExhausted (yystackp);
|
if (!yysize_overflow)
|
||||||
}
|
yymsg = (char *) YYMALLOC (yysize);
|
||||||
|
|
||||||
|
if (yymsg)
|
||||||
|
{
|
||||||
|
char *yyp = yymsg;
|
||||||
|
int yyi = 0;
|
||||||
|
while ((*yyp = *yyf))
|
||||||
|
{
|
||||||
|
if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
|
||||||
|
{
|
||||||
|
yyp += yytnamerr (yyp, yyarg[yyi++]);
|
||||||
|
yyf += 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
yyp++;
|
||||||
|
yyf++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
yyerror (]b4_lyyerror_args[yymsg);
|
||||||
|
YYFREE (yymsg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
yyerror (]b4_lyyerror_args[YY_("syntax error"));
|
||||||
|
yyMemoryExhausted (yystackp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
#endif /* YYERROR_VERBOSE */
|
#endif /* YYERROR_VERBOSE */
|
||||||
yynerrs += 1;
|
yyerror (]b4_lyyerror_args[YY_("syntax error"));
|
||||||
|
yynerrs += 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
|
/* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
|
||||||
@@ -2257,7 +2234,7 @@ yyrecoverSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
|
|||||||
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
|
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
|
||||||
}
|
}
|
||||||
yyj = yypact[yystackp->yytops.yystates[0]->yylrState];
|
yyj = yypact[yystackp->yytops.yystates[0]->yylrState];
|
||||||
if (yypact_value_is_default (yyj))
|
if (yyis_pact_ninf (yyj))
|
||||||
return;
|
return;
|
||||||
yyj += yytoken;
|
yyj += yytoken;
|
||||||
if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken)
|
if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken)
|
||||||
@@ -2265,7 +2242,7 @@ yyrecoverSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
|
|||||||
if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0)
|
if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (! yytable_value_is_error (yytable[yyj]))
|
else if (yytable[yyj] != 0 && ! yyis_table_ninf (yytable[yyj]))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2286,7 +2263,7 @@ yyrecoverSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
|
|||||||
{
|
{
|
||||||
yyGLRState *yys = yystackp->yytops.yystates[0];
|
yyGLRState *yys = yystackp->yytops.yystates[0];
|
||||||
yyj = yypact[yys->yylrState];
|
yyj = yypact[yys->yylrState];
|
||||||
if (! yypact_value_is_default (yyj))
|
if (! yyis_pact_ninf (yyj))
|
||||||
{
|
{
|
||||||
yyj += YYTERROR;
|
yyj += YYTERROR;
|
||||||
if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYTERROR
|
if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYTERROR
|
||||||
@@ -2664,7 +2641,7 @@ m4_if(b4_skeleton, ["glr.c"],
|
|||||||
[b4_defines_if(
|
[b4_defines_if(
|
||||||
[@output(b4_spec_defines_file@)@
|
[@output(b4_spec_defines_file@)@
|
||||||
b4_copyright([Skeleton interface for Bison GLR parsers in C],
|
b4_copyright([Skeleton interface for Bison GLR parsers in C],
|
||||||
[2002-2011])
|
[2002, 2003, 2004, 2005, 2006, 2009, 2010])
|
||||||
|
|
||||||
b4_shared_declarations
|
b4_shared_declarations
|
||||||
|
|
||||||
|
|||||||
+12
-8
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
# C++ GLR skeleton for Bison
|
# C++ GLR skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||||
|
# 2010 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
|
||||||
@@ -54,8 +55,7 @@ b4_defines_if([],
|
|||||||
[b4_fatal([b4_skeleton[: using %%defines is mandatory]])])
|
[b4_fatal([b4_skeleton[: using %%defines is mandatory]])])
|
||||||
|
|
||||||
m4_include(b4_pkgdatadir/[c++.m4])
|
m4_include(b4_pkgdatadir/[c++.m4])
|
||||||
b4_percent_define_ifdef([[location_type]], [],
|
m4_include(b4_pkgdatadir/[location.cc])
|
||||||
[m4_include(b4_pkgdatadir/[location.cc])])
|
|
||||||
|
|
||||||
m4_define([b4_parser_class_name],
|
m4_define([b4_parser_class_name],
|
||||||
[b4_percent_define_get([[parser_class_name]])])
|
[b4_percent_define_get([[parser_class_name]])])
|
||||||
@@ -220,7 +220,7 @@ m4_popdef([b4_parse_param])
|
|||||||
m4_divert_push(0)
|
m4_divert_push(0)
|
||||||
@output(b4_spec_defines_file@)@
|
@output(b4_spec_defines_file@)@
|
||||||
b4_copyright([Skeleton interface for Bison GLR parsers in C++],
|
b4_copyright([Skeleton interface for Bison GLR parsers in C++],
|
||||||
[2002-2006, 2009-2011])[
|
[2002, 2003, 2004, 2005, 2006, 2009, 2010])[
|
||||||
|
|
||||||
/* C++ GLR parser skeleton written by Akim Demaille. */
|
/* C++ GLR parser skeleton written by Akim Demaille. */
|
||||||
|
|
||||||
@@ -231,12 +231,17 @@ b4_copyright([Skeleton interface for Bison GLR parsers in C++],
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
]b4_percent_define_ifdef([[location_type]], [],
|
|
||||||
[[#include "location.hh"]])[
|
|
||||||
|
|
||||||
/* Using locations. */
|
/* Using locations. */
|
||||||
#define YYLSP_NEEDED ]b4_locations_flag[
|
#define YYLSP_NEEDED ]b4_locations_flag[
|
||||||
|
|
||||||
|
]b4_namespace_open[
|
||||||
|
class position;
|
||||||
|
class location;
|
||||||
|
]b4_namespace_close[
|
||||||
|
|
||||||
|
#include "location.hh"
|
||||||
|
|
||||||
/* Enabling traces. */
|
/* Enabling traces. */
|
||||||
#ifndef YYDEBUG
|
#ifndef YYDEBUG
|
||||||
# define YYDEBUG ]b4_debug_flag[
|
# define YYDEBUG ]b4_debug_flag[
|
||||||
@@ -280,8 +285,7 @@ b4_user_stype
|
|||||||
typedef YYSTYPE semantic_type;
|
typedef YYSTYPE semantic_type;
|
||||||
#endif
|
#endif
|
||||||
/// Symbol locations.
|
/// Symbol locations.
|
||||||
typedef ]b4_percent_define_get([[location_type]],
|
typedef ]b4_percent_define_get([[location_type]])[ location_type;
|
||||||
[[location]])[ location_type;
|
|
||||||
/// Tokens.
|
/// Tokens.
|
||||||
struct token
|
struct token
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Java skeleton dispatching for Bison.
|
# Java skeleton dispatching for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2007, 2009, 2010 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
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Java language support for Bison
|
# Java language support for Bison
|
||||||
|
|
||||||
# Copyright (C) 2007-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2007, 2008, 2009, 2010 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
|
||||||
|
|||||||
+100
-182
@@ -1,6 +1,7 @@
|
|||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
||||||
|
# 2010 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
|
||||||
@@ -24,10 +25,9 @@ m4_define([b4_parser_class_name],
|
|||||||
b4_defines_if([],
|
b4_defines_if([],
|
||||||
[b4_fatal([b4_skeleton[: using %%defines is mandatory]])])
|
[b4_fatal([b4_skeleton[: using %%defines is mandatory]])])
|
||||||
|
|
||||||
b4_percent_define_ifdef([[location_type]], [],
|
# Backward compatibility.
|
||||||
[# Backward compatibility.
|
m4_define([b4_location_constructors])
|
||||||
m4_define([b4_location_constructors])
|
m4_include(b4_pkgdatadir/[location.cc])
|
||||||
m4_include(b4_pkgdatadir/[location.cc])])
|
|
||||||
|
|
||||||
# We do want M4 expansion after # for CPP macros.
|
# We do want M4 expansion after # for CPP macros.
|
||||||
m4_changecom()
|
m4_changecom()
|
||||||
@@ -35,7 +35,7 @@ m4_divert_push(0)dnl
|
|||||||
b4_defines_if(
|
b4_defines_if(
|
||||||
[@output(b4_spec_defines_file@)@
|
[@output(b4_spec_defines_file@)@
|
||||||
b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++],
|
b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++],
|
||||||
[2002-2011])
|
[2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010])
|
||||||
dnl FIXME: This is wrong, we want computed header guards.
|
dnl FIXME: This is wrong, we want computed header guards.
|
||||||
[
|
[
|
||||||
/* C++ LALR(1) parser skeleton written by Akim Demaille. */
|
/* C++ LALR(1) parser skeleton written by Akim Demaille. */
|
||||||
@@ -48,8 +48,13 @@ dnl FIXME: This is wrong, we want computed header guards.
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "stack.hh"
|
#include "stack.hh"
|
||||||
]b4_percent_define_ifdef([[location_type]], [],
|
|
||||||
[[#include "location.hh"]])[
|
]b4_namespace_open[
|
||||||
|
class position;
|
||||||
|
class location;
|
||||||
|
]b4_namespace_close[
|
||||||
|
|
||||||
|
#include "location.hh"
|
||||||
|
|
||||||
/* Enabling traces. */
|
/* Enabling traces. */
|
||||||
#ifndef YYDEBUG
|
#ifndef YYDEBUG
|
||||||
@@ -69,6 +74,25 @@ dnl FIXME: This is wrong, we want computed header guards.
|
|||||||
# define YYTOKEN_TABLE ]b4_token_table[
|
# define YYTOKEN_TABLE ]b4_token_table[
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
|
||||||
|
If N is 0, then set CURRENT to the empty location which ends
|
||||||
|
the previous symbol: RHS[0] (always defined). */
|
||||||
|
|
||||||
|
#ifndef YYLLOC_DEFAULT
|
||||||
|
# define YYLLOC_DEFAULT(Current, Rhs, N) \
|
||||||
|
do { \
|
||||||
|
if (N) \
|
||||||
|
{ \
|
||||||
|
(Current).begin = (Rhs)[1].begin; \
|
||||||
|
(Current).end = (Rhs)[N].end; \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
{ \
|
||||||
|
(Current).begin = (Current).end = (Rhs)[0].end; \
|
||||||
|
} \
|
||||||
|
} while (false)
|
||||||
|
#endif
|
||||||
|
|
||||||
]b4_namespace_open[
|
]b4_namespace_open[
|
||||||
|
|
||||||
/// A Bison parser.
|
/// A Bison parser.
|
||||||
@@ -89,8 +113,7 @@ b4_user_stype
|
|||||||
typedef YYSTYPE semantic_type;
|
typedef YYSTYPE semantic_type;
|
||||||
#endif
|
#endif
|
||||||
/// Symbol locations.
|
/// Symbol locations.
|
||||||
typedef ]b4_percent_define_get([[location_type]],
|
typedef ]b4_percent_define_get([[location_type]])[ location_type;
|
||||||
[[location]])[ location_type;
|
|
||||||
/// Tokens.
|
/// Tokens.
|
||||||
struct token
|
struct token
|
||||||
{
|
{
|
||||||
@@ -130,7 +153,8 @@ b4_user_stype
|
|||||||
/// Generate an error message.
|
/// Generate an error message.
|
||||||
/// \param state the state where the error occurred.
|
/// \param state the state where the error occurred.
|
||||||
/// \param tok the lookahead token.
|
/// \param tok the lookahead token.
|
||||||
virtual std::string yysyntax_error_ (int yystate, int tok);
|
virtual std::string yysyntax_error_ (int yystate]dnl
|
||||||
|
b4_error_verbose_if([, int tok])[);
|
||||||
|
|
||||||
#if YYDEBUG
|
#if YYDEBUG
|
||||||
/// \brief Report a symbol value on the debug stream.
|
/// \brief Report a symbol value on the debug stream.
|
||||||
@@ -166,14 +190,6 @@ b4_user_stype
|
|||||||
/// The location stack.
|
/// The location stack.
|
||||||
location_stack_type yylocation_stack_;
|
location_stack_type yylocation_stack_;
|
||||||
|
|
||||||
/// Whether the given \c yypact_ value indicates a defaulted state.
|
|
||||||
/// \param yyvalue the value to check
|
|
||||||
static bool yy_pact_value_is_default_ (int yyvalue);
|
|
||||||
|
|
||||||
/// Whether the given \c yytable_ value indicates a syntax error.
|
|
||||||
/// \param yyvalue the value to check
|
|
||||||
static bool yy_table_value_is_error_ (int yyvalue);
|
|
||||||
|
|
||||||
/// Internal symbol numbers.
|
/// Internal symbol numbers.
|
||||||
typedef ]b4_int_type_for([b4_translate])[ token_number_type;
|
typedef ]b4_int_type_for([b4_translate])[ token_number_type;
|
||||||
/* Tables. */
|
/* Tables. */
|
||||||
@@ -181,7 +197,7 @@ b4_user_stype
|
|||||||
static const ]b4_int_type_for([b4_pact])[ yypact_[];
|
static const ]b4_int_type_for([b4_pact])[ yypact_[];
|
||||||
static const ]b4_int_type(b4_pact_ninf, b4_pact_ninf)[ yypact_ninf_;
|
static const ]b4_int_type(b4_pact_ninf, b4_pact_ninf)[ yypact_ninf_;
|
||||||
|
|
||||||
/// For a state, default reduction number.
|
/// For a state, default rule to reduce.
|
||||||
/// Unless\a yytable_ specifies something else to do.
|
/// Unless\a yytable_ specifies something else to do.
|
||||||
/// Zero means the default is an error.
|
/// Zero means the default is an error.
|
||||||
static const ]b4_int_type_for([b4_defact])[ yydefact_[];
|
static const ]b4_int_type_for([b4_defact])[ yydefact_[];
|
||||||
@@ -210,10 +226,12 @@ b4_user_stype
|
|||||||
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
|
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
|
||||||
/// For a symbol, its name in clear.
|
/// For a symbol, its name in clear.
|
||||||
static const char* const yytname_[];
|
static const char* const yytname_[];
|
||||||
#endif]b4_error_verbose_if([
|
#endif
|
||||||
|
|
||||||
|
#if YYERROR_VERBOSE
|
||||||
/// Convert the symbol name \a n to a form suitable for a diagnostic.
|
/// Convert the symbol name \a n to a form suitable for a diagnostic.
|
||||||
static std::string yytnamerr_ (const char *n);])[
|
virtual std::string yytnamerr_ (const char *n);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if YYDEBUG
|
#if YYDEBUG
|
||||||
/// A type to store symbol numbers and -1.
|
/// A type to store symbol numbers and -1.
|
||||||
@@ -282,7 +300,7 @@ b4_percent_code_get([[provides]])[]dnl
|
|||||||
])dnl
|
])dnl
|
||||||
@output(b4_parser_file_name@)@
|
@output(b4_parser_file_name@)@
|
||||||
b4_copyright([Skeleton implementation for Bison LALR(1) parsers in C++],
|
b4_copyright([Skeleton implementation for Bison LALR(1) parsers in C++],
|
||||||
[2002-2011])
|
[2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010])
|
||||||
b4_percent_code_get([[top]])[]dnl
|
b4_percent_code_get([[top]])[]dnl
|
||||||
m4_if(b4_prefix, [yy], [],
|
m4_if(b4_prefix, [yy], [],
|
||||||
[
|
[
|
||||||
@@ -311,26 +329,6 @@ b4_percent_code_get[]dnl
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
|
|
||||||
If N is 0, then set CURRENT to the empty location which ends
|
|
||||||
the previous symbol: RHS[0] (always defined). */
|
|
||||||
|
|
||||||
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
|
|
||||||
#ifndef YYLLOC_DEFAULT
|
|
||||||
# define YYLLOC_DEFAULT(Current, Rhs, N) \
|
|
||||||
do \
|
|
||||||
if (N) \
|
|
||||||
{ \
|
|
||||||
(Current).begin = YYRHSLOC (Rhs, 1).begin; \
|
|
||||||
(Current).end = YYRHSLOC (Rhs, N).end; \
|
|
||||||
} \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
(Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
|
|
||||||
} \
|
|
||||||
while (false)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Suppress unused-variable warnings by "using" E. */
|
/* Suppress unused-variable warnings by "using" E. */
|
||||||
#define YYUSE(e) ((void) (e))
|
#define YYUSE(e) ((void) (e))
|
||||||
|
|
||||||
@@ -379,7 +377,8 @@ do { \
|
|||||||
#define YYERROR goto yyerrorlab
|
#define YYERROR goto yyerrorlab
|
||||||
#define YYRECOVERING() (!!yyerrstatus_)
|
#define YYRECOVERING() (!!yyerrstatus_)
|
||||||
|
|
||||||
]b4_namespace_open[]b4_error_verbose_if([[
|
]b4_namespace_open[
|
||||||
|
#if YYERROR_VERBOSE
|
||||||
|
|
||||||
/* Return YYSTR after stripping away unnecessary quotes and
|
/* Return YYSTR after stripping away unnecessary quotes and
|
||||||
backslashes, so that it's suitable for yyerror. The heuristic is
|
backslashes, so that it's suitable for yyerror. The heuristic is
|
||||||
@@ -417,7 +416,8 @@ do { \
|
|||||||
|
|
||||||
return yystr;
|
return yystr;
|
||||||
}
|
}
|
||||||
]])[
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/// Build a parser object.
|
/// Build a parser object.
|
||||||
]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [
|
]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [
|
||||||
@@ -518,18 +518,6 @@ do { \
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
inline bool
|
|
||||||
]b4_parser_class_name[::yy_pact_value_is_default_ (int yyvalue)
|
|
||||||
{
|
|
||||||
return yyvalue == yypact_ninf_;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool
|
|
||||||
]b4_parser_class_name[::yy_table_value_is_error_ (int yyvalue)
|
|
||||||
{
|
|
||||||
return yyvalue == yytable_ninf_;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
]b4_parser_class_name[::parse ()
|
]b4_parser_class_name[::parse ()
|
||||||
{
|
{
|
||||||
@@ -596,7 +584,7 @@ m4_popdef([b4_at_dollar])])dnl
|
|||||||
|
|
||||||
/* Try to take a decision without lookahead. */
|
/* Try to take a decision without lookahead. */
|
||||||
yyn = yypact_[yystate];
|
yyn = yypact_[yystate];
|
||||||
if (yy_pact_value_is_default_ (yyn))
|
if (yyn == yypact_ninf_)
|
||||||
goto yydefault;
|
goto yydefault;
|
||||||
|
|
||||||
/* Read a lookahead token. */
|
/* Read a lookahead token. */
|
||||||
@@ -632,8 +620,8 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param))[;
|
|||||||
yyn = yytable_[yyn];
|
yyn = yytable_[yyn];
|
||||||
if (yyn <= 0)
|
if (yyn <= 0)
|
||||||
{
|
{
|
||||||
if (yy_table_value_is_error_ (yyn))
|
if (yyn == 0 || yyn == yytable_ninf_)
|
||||||
goto yyerrlab;
|
goto yyerrlab;
|
||||||
yyn = -yyn;
|
yyn = -yyn;
|
||||||
goto yyreduce;
|
goto yyreduce;
|
||||||
}
|
}
|
||||||
@@ -691,17 +679,6 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param))[;
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* User semantic actions sometimes alter yychar, and that requires
|
|
||||||
that yytoken be updated with the new translation. We take the
|
|
||||||
approach of translating immediately before every use of yytoken.
|
|
||||||
One alternative is translating here after every semantic action,
|
|
||||||
but that translation would be missed if the semantic action
|
|
||||||
invokes YYABORT, YYACCEPT, or YYERROR immediately after altering
|
|
||||||
yychar. In the case of YYABORT or YYACCEPT, an incorrect
|
|
||||||
destructor might then be invoked immediately. In the case of
|
|
||||||
YYERROR, subsequent parser actions might lead to an incorrect
|
|
||||||
destructor call or verbose syntax error message before the
|
|
||||||
lookahead is translated. */
|
|
||||||
YY_SYMBOL_PRINT ("-> $$ =", yyr1_[yyn], &yyval, &yyloc);
|
YY_SYMBOL_PRINT ("-> $$ =", yyr1_[yyn], &yyval, &yyloc);
|
||||||
|
|
||||||
yypop_ (yylen);
|
yypop_ (yylen);
|
||||||
@@ -725,17 +702,12 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param))[;
|
|||||||
| yyerrlab -- here on detecting error |
|
| yyerrlab -- here on detecting error |
|
||||||
`------------------------------------*/
|
`------------------------------------*/
|
||||||
yyerrlab:
|
yyerrlab:
|
||||||
/* Make sure we have latest lookahead translation. See comments at
|
|
||||||
user semantic actions for why this is necessary. */
|
|
||||||
yytoken = yytranslate_ (yychar);
|
|
||||||
|
|
||||||
/* If not already recovering from an error, report this error. */
|
/* If not already recovering from an error, report this error. */
|
||||||
if (!yyerrstatus_)
|
if (!yyerrstatus_)
|
||||||
{
|
{
|
||||||
++yynerrs_;
|
++yynerrs_;
|
||||||
if (yychar == yyempty_)
|
error (yylloc, yysyntax_error_ (yystate]dnl
|
||||||
yytoken = yyempty_;
|
b4_error_verbose_if([, yytoken])[));
|
||||||
error (yylloc, yysyntax_error_ (yystate, yytoken));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
yyerror_range[1] = yylloc;
|
yyerror_range[1] = yylloc;
|
||||||
@@ -790,7 +762,7 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param))[;
|
|||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
yyn = yypact_[yystate];
|
yyn = yypact_[yystate];
|
||||||
if (!yy_pact_value_is_default_ (yyn))
|
if (yyn != yypact_ninf_)
|
||||||
{
|
{
|
||||||
yyn += yyterror_;
|
yyn += yyterror_;
|
||||||
if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
|
if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
|
||||||
@@ -840,13 +812,7 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param))[;
|
|||||||
|
|
||||||
yyreturn:
|
yyreturn:
|
||||||
if (yychar != yyempty_)
|
if (yychar != yyempty_)
|
||||||
{
|
yydestruct_ ("Cleanup: discarding lookahead", yytoken, &yylval, &yylloc);
|
||||||
/* Make sure we have latest lookahead translation. See comments
|
|
||||||
at user semantic actions for why this is necessary. */
|
|
||||||
yytoken = yytranslate_ (yychar);
|
|
||||||
yydestruct_ ("Cleanup: discarding lookahead", yytoken, &yylval,
|
|
||||||
&yylloc);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Do not reclaim the symbols of the rule which action triggered
|
/* Do not reclaim the symbols of the rule which action triggered
|
||||||
this YYABORT or YYACCEPT. */
|
this YYABORT or YYACCEPT. */
|
||||||
@@ -865,100 +831,52 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param))[;
|
|||||||
|
|
||||||
// Generate an error message.
|
// Generate an error message.
|
||||||
std::string
|
std::string
|
||||||
]b4_parser_class_name[::yysyntax_error_ (]dnl
|
]b4_parser_class_name[::yysyntax_error_ (int yystate]dnl
|
||||||
b4_error_verbose_if([int yystate, int yytoken],
|
b4_error_verbose_if([, int tok])[)
|
||||||
[int, int])[)
|
{
|
||||||
{]b4_error_verbose_if([[
|
std::string res;
|
||||||
std::string yyres;
|
YYUSE (yystate);
|
||||||
// Number of reported tokens (one for the "unexpected", one per
|
#if YYERROR_VERBOSE
|
||||||
// "expected").
|
int yyn = yypact_[yystate];
|
||||||
size_t yycount = 0;
|
if (yypact_ninf_ < yyn && yyn <= yylast_)
|
||||||
// Its maximum.
|
|
||||||
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
|
|
||||||
// Arguments of yyformat.
|
|
||||||
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
|
|
||||||
|
|
||||||
/* There are many possibilities here to consider:
|
|
||||||
- If this state is a consistent state with a default action, then
|
|
||||||
the only way this function was invoked is if the default action
|
|
||||||
is an error action. In that case, don't check for expected
|
|
||||||
tokens because there are none.
|
|
||||||
- The only way there can be no lookahead present (in yytoken) is
|
|
||||||
if this state is a consistent state with a default action.
|
|
||||||
Thus, detecting the absence of a lookahead is sufficient to
|
|
||||||
determine that there is no unexpected or expected token to
|
|
||||||
report. In that case, just report a simple "syntax error".
|
|
||||||
- Don't assume there isn't a lookahead just because this state is
|
|
||||||
a consistent state with a default action. There might have
|
|
||||||
been a previous inconsistent state, consistent state with a
|
|
||||||
non-default action, or user semantic action that manipulated
|
|
||||||
yychar.
|
|
||||||
- Of course, the expected token list depends on states to have
|
|
||||||
correct lookahead information, and it depends on the parser not
|
|
||||||
to perform extra reductions after fetching a lookahead from the
|
|
||||||
scanner and before detecting a syntax error. Thus, state
|
|
||||||
merging (from LALR or IELR) and default reductions corrupt the
|
|
||||||
expected token list. However, the list is correct for
|
|
||||||
canonical LR with one exception: it will still contain any
|
|
||||||
token that will not be accepted due to an error action in a
|
|
||||||
later state.
|
|
||||||
*/
|
|
||||||
if (yytoken != yyempty_)
|
|
||||||
{
|
{
|
||||||
yyarg[yycount++] = yytname_[yytoken];
|
/* Start YYX at -YYN if negative to avoid negative indexes in
|
||||||
int yyn = yypact_[yystate];
|
YYCHECK. */
|
||||||
if (!yy_pact_value_is_default_ (yyn))
|
int yyxbegin = yyn < 0 ? -yyn : 0;
|
||||||
{
|
|
||||||
/* Start YYX at -YYN if negative to avoid negative indexes in
|
|
||||||
YYCHECK. In other words, skip the first -YYN actions for
|
|
||||||
this state because they are default actions. */
|
|
||||||
int yyxbegin = yyn < 0 ? -yyn : 0;
|
|
||||||
/* Stay within bounds of both yycheck and yytname. */
|
|
||||||
int yychecklim = yylast_ - yyn + 1;
|
|
||||||
int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
|
|
||||||
for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
|
|
||||||
if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
|
|
||||||
&& !yy_table_value_is_error_ (yytable_[yyx + yyn]))
|
|
||||||
{
|
|
||||||
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
|
|
||||||
{
|
|
||||||
yycount = 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
yyarg[yycount++] = yytname_[yyx];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
char const* yyformat = 0;
|
/* Stay within bounds of both yycheck and yytname. */
|
||||||
switch (yycount)
|
int yychecklim = yylast_ - yyn + 1;
|
||||||
{
|
int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
|
||||||
#define YYCASE_(N, S) \
|
int count = 0;
|
||||||
case N: \
|
for (int x = yyxbegin; x < yyxend; ++x)
|
||||||
yyformat = S; \
|
if (yycheck_[x + yyn] == x && x != yyterror_)
|
||||||
break
|
++count;
|
||||||
YYCASE_(0, YY_("syntax error"));
|
|
||||||
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
|
||||||
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
|
||||||
YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
|
|
||||||
YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
|
|
||||||
YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
|
|
||||||
#undef YYCASE_
|
|
||||||
}
|
|
||||||
|
|
||||||
// Argument number.
|
// FIXME: This method of building the message is not compatible
|
||||||
size_t yyi = 0;
|
// with internationalization. It should work like yacc.c does it.
|
||||||
for (char const* yyp = yyformat; *yyp; ++yyp)
|
// That is, first build a string that looks like this:
|
||||||
if (yyp[0] == '%' && yyp[1] == 's' && yyi < yycount)
|
// "syntax error, unexpected %s or %s or %s"
|
||||||
{
|
// Then, invoke YY_ on this string.
|
||||||
yyres += yytnamerr_ (yyarg[yyi++]);
|
// Finally, use the string as a format to output
|
||||||
++yyp;
|
// yytname_[tok], etc.
|
||||||
}
|
// Until this gets fixed, this message appears in English only.
|
||||||
else
|
res = "syntax error, unexpected ";
|
||||||
yyres += *yyp;
|
res += yytnamerr_ (yytname_[tok]);
|
||||||
return yyres;]], [[
|
if (count < 5)
|
||||||
return YY_("syntax error");]])[
|
{
|
||||||
|
count = 0;
|
||||||
|
for (int x = yyxbegin; x < yyxend; ++x)
|
||||||
|
if (yycheck_[x + yyn] == x && x != yyterror_)
|
||||||
|
{
|
||||||
|
res += (!count++) ? ", expecting " : " or ";
|
||||||
|
res += yytnamerr_ (yytname_[x]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
res = YY_("syntax error");
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -971,9 +889,9 @@ b4_error_verbose_if([int yystate, int yytoken],
|
|||||||
]b4_pact[
|
]b4_pact[
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYDEFACT[S] -- default reduction number in state S. Performed when
|
/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
|
||||||
YYTABLE doesn't specify something else to do. Zero means the
|
doesn't specify something else to do. Zero means the default is an
|
||||||
default is an error. */
|
error. */
|
||||||
const ]b4_int_type_for([b4_defact])[
|
const ]b4_int_type_for([b4_defact])[
|
||||||
]b4_parser_class_name[::yydefact_[] =
|
]b4_parser_class_name[::yydefact_[] =
|
||||||
{
|
{
|
||||||
@@ -996,7 +914,7 @@ b4_error_verbose_if([int yystate, int yytoken],
|
|||||||
|
|
||||||
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
||||||
positive, shift that token. If negative, reduce the rule which
|
positive, shift that token. If negative, reduce the rule which
|
||||||
number is the opposite. If YYTABLE_NINF_, syntax error. */
|
number is the opposite. If zero, do what YYDEFACT says. */
|
||||||
const ]b4_int_type(b4_table_ninf, b4_table_ninf) b4_parser_class_name::yytable_ninf_ = b4_table_ninf[;
|
const ]b4_int_type(b4_table_ninf, b4_table_ninf) b4_parser_class_name::yytable_ninf_ = b4_table_ninf[;
|
||||||
const ]b4_int_type_for([b4_table])[
|
const ]b4_int_type_for([b4_table])[
|
||||||
]b4_parser_class_name[::yytable_[] =
|
]b4_parser_class_name[::yytable_[] =
|
||||||
@@ -1139,7 +1057,7 @@ b4_error_verbose_if([int yystate, int yytoken],
|
|||||||
dnl
|
dnl
|
||||||
@output(b4_dir_prefix[]stack.hh@)@
|
@output(b4_dir_prefix[]stack.hh@)@
|
||||||
b4_copyright([Stack handling for Bison parsers in C++],
|
b4_copyright([Stack handling for Bison parsers in C++],
|
||||||
[2002-2011])[
|
[2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010])[
|
||||||
|
|
||||||
#ifndef BISON_STACK_HH
|
#ifndef BISON_STACK_HH
|
||||||
# define BISON_STACK_HH
|
# define BISON_STACK_HH
|
||||||
|
|||||||
+56
-107
@@ -1,6 +1,6 @@
|
|||||||
# Java skeleton for Bison -*- autoconf -*-
|
# Java skeleton for Bison -*- autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2007-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -25,7 +25,7 @@ m4_ifval(m4_defn([b4_symbol_destructors]),
|
|||||||
m4_divert_push(0)dnl
|
m4_divert_push(0)dnl
|
||||||
@output(b4_parser_file_name@)@
|
@output(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-2011])
|
[2007, 2008, 2009, 2010])
|
||||||
|
|
||||||
b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);
|
b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);
|
||||||
])[/* First part of user declarations. */
|
])[/* First part of user declarations. */
|
||||||
@@ -102,7 +102,7 @@ b4_token_enums(b4_tokens)
|
|||||||
private ]b4_location_type[ yylloc (YYStack rhs, int n)
|
private ]b4_location_type[ yylloc (YYStack rhs, int n)
|
||||||
{
|
{
|
||||||
if (n > 0)
|
if (n > 0)
|
||||||
return new ]b4_location_type[ (rhs.locationAt (n-1).begin, rhs.locationAt (0).end);
|
return new ]b4_location_type[ (rhs.locationAt (1).begin, rhs.locationAt (n).end);
|
||||||
else
|
else
|
||||||
return new ]b4_location_type[ (rhs.locationAt (0).end);
|
return new ]b4_location_type[ (rhs.locationAt (0).end);
|
||||||
}]])[
|
}]])[
|
||||||
@@ -255,14 +255,14 @@ b4_lexer_if([[
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final void pop () {
|
public final void pop () {
|
||||||
pop (1);
|
height--;
|
||||||
}
|
}
|
||||||
|
|
||||||
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 (num > 0) {
|
if (num > 0) {
|
||||||
java.util.Arrays.fill (valueStack, height - num + 1, height + 1, null);
|
java.util.Arrays.fill (valueStack, height - num + 1, height, null);
|
||||||
]b4_locations_if([[java.util.Arrays.fill (locStack, height - num + 1, height + 1, null);]])[
|
]b4_locations_if([[java.util.Arrays.fill (locStack, height - num + 1, height, null);]])[
|
||||||
}
|
}
|
||||||
height -= num;
|
height -= num;
|
||||||
}
|
}
|
||||||
@@ -284,7 +284,7 @@ b4_lexer_if([[
|
|||||||
{
|
{
|
||||||
out.print ("Stack now");
|
out.print ("Stack now");
|
||||||
|
|
||||||
for (int i = 0; i <= height; i++)
|
for (int i = 0; i < height; i++)
|
||||||
{
|
{
|
||||||
out.print (' ');
|
out.print (' ');
|
||||||
out.print (stateStack[i]);
|
out.print (stateStack[i]);
|
||||||
@@ -308,9 +308,12 @@ b4_lexer_if([[
|
|||||||
* printing an error message. */
|
* printing an error message. */
|
||||||
public static final int YYERROR = 2;
|
public static final int YYERROR = 2;
|
||||||
|
|
||||||
// Internal return codes that are not supported for user semantic
|
/**
|
||||||
// actions.
|
* Returned by a Bison action in order to print an error message and start
|
||||||
private static final int YYERRLAB = 3;
|
* error recovery. Formally deprecated in Bison 2.4.2's NEWS entry, where
|
||||||
|
* a plan to phase it out is discussed. */
|
||||||
|
public static final int YYFAIL = 3;
|
||||||
|
|
||||||
private static final int YYNEWSTATE = 4;
|
private static final int YYNEWSTATE = 4;
|
||||||
private static final int YYDEFAULT = 5;
|
private static final int YYDEFAULT = 5;
|
||||||
private static final int YYREDUCE = 6;
|
private static final int YYREDUCE = 6;
|
||||||
@@ -487,7 +490,7 @@ m4_popdef([b4_at_dollar])])dnl
|
|||||||
|
|
||||||
/* Take a decision. First try without lookahead. */
|
/* Take a decision. First try without lookahead. */
|
||||||
yyn = yypact_[yystate];
|
yyn = yypact_[yystate];
|
||||||
if (yy_pact_value_is_default_ (yyn))
|
if (yyn == yypact_ninf_)
|
||||||
{
|
{
|
||||||
label = YYDEFAULT;
|
label = YYDEFAULT;
|
||||||
break;
|
break;
|
||||||
@@ -526,8 +529,8 @@ m4_popdef([b4_at_dollar])])dnl
|
|||||||
/* <= 0 means reduce or error. */
|
/* <= 0 means reduce or error. */
|
||||||
else if ((yyn = yytable_[yyn]) <= 0)
|
else if ((yyn = yytable_[yyn]) <= 0)
|
||||||
{
|
{
|
||||||
if (yy_table_value_is_error_ (yyn))
|
if (yyn == 0 || yyn == yytable_ninf_)
|
||||||
label = YYERRLAB;
|
label = YYFAIL;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
yyn = -yyn;
|
yyn = -yyn;
|
||||||
@@ -561,7 +564,7 @@ m4_popdef([b4_at_dollar])])dnl
|
|||||||
case YYDEFAULT:
|
case YYDEFAULT:
|
||||||
yyn = yydefact_[yystate];
|
yyn = yydefact_[yystate];
|
||||||
if (yyn == 0)
|
if (yyn == 0)
|
||||||
label = YYERRLAB;
|
label = YYFAIL;
|
||||||
else
|
else
|
||||||
label = YYREDUCE;
|
label = YYREDUCE;
|
||||||
break;
|
break;
|
||||||
@@ -578,14 +581,12 @@ m4_popdef([b4_at_dollar])])dnl
|
|||||||
/*------------------------------------.
|
/*------------------------------------.
|
||||||
| yyerrlab -- here on detecting error |
|
| yyerrlab -- here on detecting error |
|
||||||
`------------------------------------*/
|
`------------------------------------*/
|
||||||
case YYERRLAB:
|
case YYFAIL:
|
||||||
/* If not already recovering from an error, report this error. */
|
/* If not already recovering from an error, report this error. */
|
||||||
if (yyerrstatus_ == 0)
|
if (yyerrstatus_ == 0)
|
||||||
{
|
{
|
||||||
++yynerrs_;
|
++yynerrs_;
|
||||||
if (yychar == yyempty_)
|
yyerror (]b4_locations_if([yylloc, ])[yysyntax_error (yystate, yytoken));
|
||||||
yytoken = yyempty_;
|
|
||||||
yyerror (]b4_locations_if([yylloc, ])[yysyntax_error (yystate, yytoken));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
]b4_locations_if([yyerrloc = yylloc;])[
|
]b4_locations_if([yyerrloc = yylloc;])[
|
||||||
@@ -632,7 +633,7 @@ m4_popdef([b4_at_dollar])])dnl
|
|||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
yyn = yypact_[yystate];
|
yyn = yypact_[yystate];
|
||||||
if (!yy_pact_value_is_default_ (yyn))
|
if (yyn != yypact_ninf_)
|
||||||
{
|
{
|
||||||
yyn += yyterror_;
|
yyn += yyterror_;
|
||||||
if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
|
if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
|
||||||
@@ -685,96 +686,44 @@ m4_popdef([b4_at_dollar])])dnl
|
|||||||
{
|
{
|
||||||
if (errorVerbose)
|
if (errorVerbose)
|
||||||
{
|
{
|
||||||
/* There are many possibilities here to consider:
|
int yyn = yypact_[yystate];
|
||||||
- Assume YYFAIL is not used. It's too flawed to consider.
|
if (yypact_ninf_ < yyn && yyn <= yylast_)
|
||||||
See
|
|
||||||
<http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
|
|
||||||
for details. YYERROR is fine as it does not invoke this
|
|
||||||
function.
|
|
||||||
- If this state is a consistent state with a default action,
|
|
||||||
then the only way this function was invoked is if the
|
|
||||||
default action is an error action. In that case, don't
|
|
||||||
check for expected tokens because there are none.
|
|
||||||
- The only way there can be no lookahead present (in tok) is
|
|
||||||
if this state is a consistent state with a default action.
|
|
||||||
Thus, detecting the absence of a lookahead is sufficient to
|
|
||||||
determine that there is no unexpected or expected token to
|
|
||||||
report. In that case, just report a simple "syntax error".
|
|
||||||
- Don't assume there isn't a lookahead just because this
|
|
||||||
state is a consistent state with a default action. There
|
|
||||||
might have been a previous inconsistent state, consistent
|
|
||||||
state with a non-default action, or user semantic action
|
|
||||||
that manipulated yychar. (However, yychar is currently out
|
|
||||||
of scope during semantic actions.)
|
|
||||||
- Of course, the expected token list depends on states to
|
|
||||||
have correct lookahead information, and it depends on the
|
|
||||||
parser not to perform extra reductions after fetching a
|
|
||||||
lookahead from the scanner and before detecting a syntax
|
|
||||||
error. Thus, state merging (from LALR or IELR) and default
|
|
||||||
reductions corrupt the expected token list. However, the
|
|
||||||
list is correct for canonical LR with one exception: it
|
|
||||||
will still contain any token that will not be accepted due
|
|
||||||
to an error action in a later state.
|
|
||||||
*/
|
|
||||||
if (tok != yyempty_)
|
|
||||||
{
|
{
|
||||||
// FIXME: This method of building the message is not compatible
|
StringBuffer res;
|
||||||
// with internationalization.
|
|
||||||
StringBuffer res =
|
/* Start YYX at -YYN if negative to avoid negative indexes in
|
||||||
new StringBuffer ("syntax error, unexpected ");
|
YYCHECK. */
|
||||||
res.append (yytnamerr_ (yytname_[tok]));
|
int yyxbegin = yyn < 0 ? -yyn : 0;
|
||||||
int yyn = yypact_[yystate];
|
|
||||||
if (!yy_pact_value_is_default_ (yyn))
|
/* Stay within bounds of both yycheck and yytname. */
|
||||||
{
|
int yychecklim = yylast_ - yyn + 1;
|
||||||
/* Start YYX at -YYN if negative to avoid negative
|
int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
|
||||||
indexes in YYCHECK. In other words, skip the first
|
int count = 0;
|
||||||
-YYN actions for this state because they are default
|
for (int x = yyxbegin; x < yyxend; ++x)
|
||||||
actions. */
|
if (yycheck_[x + yyn] == x && x != yyterror_)
|
||||||
int yyxbegin = yyn < 0 ? -yyn : 0;
|
++count;
|
||||||
/* Stay within bounds of both yycheck and yytname. */
|
|
||||||
int yychecklim = yylast_ - yyn + 1;
|
// FIXME: This method of building the message is not compatible
|
||||||
int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
|
// with internationalization.
|
||||||
int count = 0;
|
res = new StringBuffer ("syntax error, unexpected ");
|
||||||
for (int x = yyxbegin; x < yyxend; ++x)
|
res.append (yytnamerr_ (yytname_[tok]));
|
||||||
if (yycheck_[x + yyn] == x && x != yyterror_
|
if (count < 5)
|
||||||
&& !yy_table_value_is_error_ (yytable_[x + yyn]))
|
{
|
||||||
++count;
|
count = 0;
|
||||||
if (count < 5)
|
for (int x = yyxbegin; x < yyxend; ++x)
|
||||||
{
|
if (yycheck_[x + yyn] == x && x != yyterror_)
|
||||||
count = 0;
|
{
|
||||||
for (int x = yyxbegin; x < yyxend; ++x)
|
res.append (count++ == 0 ? ", expecting " : " or ");
|
||||||
if (yycheck_[x + yyn] == x && x != yyterror_
|
res.append (yytnamerr_ (yytname_[x]));
|
||||||
&& !yy_table_value_is_error_ (yytable_[x + yyn]))
|
}
|
||||||
{
|
}
|
||||||
res.append (count++ == 0 ? ", expecting " : " or ");
|
return res.toString ();
|
||||||
res.append (yytnamerr_ (yytname_[x]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res.toString ();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "syntax error";
|
return "syntax error";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether the given <code>yypact_</code> value indicates a defaulted state.
|
|
||||||
* @@param yyvalue the value to check
|
|
||||||
*/
|
|
||||||
private static boolean yy_pact_value_is_default_ (int yyvalue)
|
|
||||||
{
|
|
||||||
return yyvalue == yypact_ninf_;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether the given <code>yytable_</code> value indicates a syntax error.
|
|
||||||
* @@param yyvalue the value to check
|
|
||||||
*/
|
|
||||||
private static boolean yy_table_value_is_error_ (int yyvalue)
|
|
||||||
{
|
|
||||||
return yyvalue == yytable_ninf_;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
||||||
STATE-NUM. */
|
STATE-NUM. */
|
||||||
@@ -784,9 +733,9 @@ m4_popdef([b4_at_dollar])])dnl
|
|||||||
]b4_pact[
|
]b4_pact[
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYDEFACT[S] -- default reduction number in state S. Performed when
|
/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
|
||||||
YYTABLE doesn't specify something else to do. Zero means the
|
doesn't specify something else to do. Zero means the default is an
|
||||||
default is an error. */
|
error. */
|
||||||
private static final ]b4_int_type_for([b4_defact])[ yydefact_[] =
|
private static final ]b4_int_type_for([b4_defact])[ yydefact_[] =
|
||||||
{
|
{
|
||||||
]b4_defact[
|
]b4_defact[
|
||||||
@@ -807,7 +756,7 @@ m4_popdef([b4_at_dollar])])dnl
|
|||||||
|
|
||||||
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
||||||
positive, shift that token. If negative, reduce the rule which
|
positive, shift that token. If negative, reduce the rule which
|
||||||
number is the opposite. If YYTABLE_NINF_, syntax error. */
|
number is the opposite. If zero, do what YYDEFACT says. */
|
||||||
private static final ]b4_int_type_for([b4_table])[ yytable_ninf_ = ]b4_table_ninf[;
|
private static final ]b4_int_type_for([b4_table])[ yytable_ninf_ = ]b4_table_ninf[;
|
||||||
private static final ]b4_int_type_for([b4_table])[
|
private static final ]b4_int_type_for([b4_table])[
|
||||||
yytable_[] =
|
yytable_[] =
|
||||||
|
|||||||
+4
-3
@@ -1,6 +1,7 @@
|
|||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2007, 2009-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
|
||||||
|
# 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 +21,7 @@ m4_changecom()
|
|||||||
m4_divert_push(0)dnl
|
m4_divert_push(0)dnl
|
||||||
@output(b4_dir_prefix[]position.hh@)@
|
@output(b4_dir_prefix[]position.hh@)@
|
||||||
b4_copyright([Positions for Bison parsers in C++],
|
b4_copyright([Positions for Bison parsers in C++],
|
||||||
[2002-2007, 2009-2011])[
|
[2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010])[
|
||||||
|
|
||||||
/**
|
/**
|
||||||
** \file position.hh
|
** \file position.hh
|
||||||
@@ -145,7 +146,7 @@ b4_copyright([Positions for Bison parsers in C++],
|
|||||||
#endif // not BISON_POSITION_HH]
|
#endif // not BISON_POSITION_HH]
|
||||||
@output(b4_dir_prefix[]location.hh@)@
|
@output(b4_dir_prefix[]location.hh@)@
|
||||||
b4_copyright([Locations for Bison parsers in C++],
|
b4_copyright([Locations for Bison parsers in C++],
|
||||||
[2002-2007, 2009-2011])[
|
[2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010])[
|
||||||
|
|
||||||
/**
|
/**
|
||||||
** \file location.hh
|
** \file location.hh
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
../../submodules/autoconf/lib/m4sugar/foreach.m4
|
|
||||||
@@ -0,0 +1,400 @@
|
|||||||
|
# -*- Autoconf -*-
|
||||||
|
# This file is part of Autoconf.
|
||||||
|
# foreach-based replacements for recursive functions.
|
||||||
|
# Speeds up GNU M4 1.4.x by avoiding quadratic $@ recursion, but penalizes
|
||||||
|
# GNU M4 1.6 by requiring more memory and macro expansions.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2008 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# As a special exception, the Free Software Foundation gives unlimited
|
||||||
|
# permission to copy, distribute and modify the configure scripts that
|
||||||
|
# are the output of Autoconf. You need not follow the terms of the GNU
|
||||||
|
# General Public License when using or distributing such scripts, even
|
||||||
|
# though portions of the text of Autoconf appear in them. The GNU
|
||||||
|
# General Public License (GPL) does govern all other use of the material
|
||||||
|
# that constitutes the Autoconf program.
|
||||||
|
#
|
||||||
|
# Certain portions of the Autoconf source text are designed to be copied
|
||||||
|
# (in certain cases, depending on the input) into the output of
|
||||||
|
# Autoconf. We call these the "data" portions. The rest of the Autoconf
|
||||||
|
# source text consists of comments plus executable code that decides which
|
||||||
|
# of the data portions to output in any given case. We call these
|
||||||
|
# comments and executable code the "non-data" portions. Autoconf never
|
||||||
|
# copies any of the non-data portions into its output.
|
||||||
|
#
|
||||||
|
# This special exception to the GPL applies to versions of Autoconf
|
||||||
|
# released by the Free Software Foundation. When you make and
|
||||||
|
# distribute a modified version of Autoconf, you may extend this special
|
||||||
|
# exception to the GPL to apply to your modified version as well, *unless*
|
||||||
|
# your modified version has the potential to copy into its output some
|
||||||
|
# of the text that was the non-data portion of the version that you started
|
||||||
|
# with. (In other words, unless your change moves or copies text from
|
||||||
|
# the non-data portions to the data portions.) If your modification has
|
||||||
|
# such potential, you must delete any notice of this special exception
|
||||||
|
# to the GPL from your modified version.
|
||||||
|
#
|
||||||
|
# Written by Eric Blake.
|
||||||
|
#
|
||||||
|
|
||||||
|
# In M4 1.4.x, every byte of $@ is rescanned. This means that an
|
||||||
|
# algorithm on n arguments that recurses with one less argument each
|
||||||
|
# iteration will scan n * (n + 1) / 2 arguments, for O(n^2) time. In
|
||||||
|
# M4 1.6, this was fixed so that $@ is only scanned once, then
|
||||||
|
# back-references are made to information stored about the scan.
|
||||||
|
# Thus, n iterations need only scan n arguments, for O(n) time.
|
||||||
|
# Additionally, in M4 1.4.x, recursive algorithms did not clean up
|
||||||
|
# memory very well, requiring O(n^2) memory rather than O(n) for n
|
||||||
|
# iterations.
|
||||||
|
#
|
||||||
|
# This file is designed to overcome the quadratic nature of $@
|
||||||
|
# recursion by writing a variant of m4_foreach that uses m4_for rather
|
||||||
|
# than $@ recursion to operate on the list. This involves more macro
|
||||||
|
# expansions, but avoids the need to rescan a quadratic number of
|
||||||
|
# arguments, making these replacements very attractive for M4 1.4.x.
|
||||||
|
# On the other hand, in any version of M4, expanding additional macros
|
||||||
|
# costs additional time; therefore, in M4 1.6, where $@ recursion uses
|
||||||
|
# fewer macros, these replacements actually pessimize performance.
|
||||||
|
# Additionally, the use of $10 to mean the tenth argument violates
|
||||||
|
# POSIX; although all versions of m4 1.4.x support this meaning, a
|
||||||
|
# future m4 version may switch to take it as the first argument
|
||||||
|
# concatenated with a literal 0, so the implementations in this file
|
||||||
|
# are not future-proof. Thus, this file is conditionally included as
|
||||||
|
# part of m4_init(), only when it is detected that M4 probably has
|
||||||
|
# quadratic behavior (ie. it lacks the macro __m4_version__).
|
||||||
|
#
|
||||||
|
# Please keep this file in sync with m4sugar.m4.
|
||||||
|
|
||||||
|
# m4_foreach(VARIABLE, LIST, EXPRESSION)
|
||||||
|
# --------------------------------------
|
||||||
|
# Expand EXPRESSION assigning each value of the LIST to VARIABLE.
|
||||||
|
# LIST should have the form `item_1, item_2, ..., item_n', i.e. the
|
||||||
|
# whole list must *quoted*. Quote members too if you don't want them
|
||||||
|
# to be expanded.
|
||||||
|
#
|
||||||
|
# This version minimizes the number of times that $@ is evaluated by
|
||||||
|
# using m4_for to generate a boilerplate into VARIABLE then passing $@
|
||||||
|
# to that temporary macro. Thus, the recursion is done in m4_for
|
||||||
|
# without reparsing any user input, and is not quadratic. For an idea
|
||||||
|
# of how this works, note that m4_foreach(i,[1,2],[i]) defines i to be
|
||||||
|
# m4_define([$1],[$3])$2[]m4_define([$1],[$4])$2[]m4_popdef([i])
|
||||||
|
# then calls i([i],[i],[1],[2]).
|
||||||
|
m4_define([m4_foreach],
|
||||||
|
[m4_if([$2], [], [], [_$0([$1], [$3], $2)])])
|
||||||
|
|
||||||
|
m4_define([_m4_foreach],
|
||||||
|
[m4_define([$1], m4_pushdef([$1])_m4_for([$1], [3], [$#], [1],
|
||||||
|
[$0_([1], [2], _m4_defn([$1]))])[m4_popdef([$1])])m4_indir([$1], $@)])
|
||||||
|
|
||||||
|
m4_define([_m4_foreach_],
|
||||||
|
[[m4_define([$$1], [$$3])$$2[]]])
|
||||||
|
|
||||||
|
# m4_case(SWITCH, VAL1, IF-VAL1, VAL2, IF-VAL2, ..., DEFAULT)
|
||||||
|
# -----------------------------------------------------------
|
||||||
|
# Find the first VAL that SWITCH matches, and expand the corresponding
|
||||||
|
# IF-VAL. If there are no matches, expand DEFAULT.
|
||||||
|
#
|
||||||
|
# Use m4_for to create a temporary macro in terms of a boilerplate
|
||||||
|
# m4_if with final cleanup. If $# is even, we have DEFAULT; if it is
|
||||||
|
# odd, then rounding the last $# up in the temporary macro is
|
||||||
|
# harmless. For example, both m4_case(1,2,3,4,5) and
|
||||||
|
# m4_case(1,2,3,4,5,6) result in the intermediate _m4_case being
|
||||||
|
# m4_if([$1],[$2],[$3],[$1],[$4],[$5],_m4_popdef([_m4_case])[$6])
|
||||||
|
m4_define([m4_case],
|
||||||
|
[m4_if(m4_eval([$# <= 2]), [1], [$2],
|
||||||
|
[m4_pushdef([_$0], [m4_if(]m4_for([_m4_count], [2], m4_decr([$#]), [2],
|
||||||
|
[_$0_([1], _m4_count, m4_incr(_m4_count))])[_m4_popdef(
|
||||||
|
[_$0])]m4_dquote($m4_eval([($# + 1) & ~1]))[)])_$0($@)])])
|
||||||
|
|
||||||
|
m4_define([_m4_case_],
|
||||||
|
[[[$$1],[$$2],[$$3],]])
|
||||||
|
|
||||||
|
# m4_bmatch(SWITCH, RE1, VAL1, RE2, VAL2, ..., DEFAULT)
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# m4 equivalent of
|
||||||
|
#
|
||||||
|
# if (SWITCH =~ RE1)
|
||||||
|
# VAL1;
|
||||||
|
# elif (SWITCH =~ RE2)
|
||||||
|
# VAL2;
|
||||||
|
# elif ...
|
||||||
|
# ...
|
||||||
|
# else
|
||||||
|
# DEFAULT
|
||||||
|
#
|
||||||
|
# We build the temporary macro _m4_b:
|
||||||
|
# m4_define([_m4_b], _m4_defn([_m4_bmatch]))_m4_b([$1], [$2], [$3])...
|
||||||
|
# _m4_b([$1], [$m-1], [$m])_m4_b([], [], [$m+1]_m4_popdef([_m4_b]))
|
||||||
|
# then invoke m4_unquote(_m4_b($@)), for concatenation with later text.
|
||||||
|
m4_define([m4_bmatch],
|
||||||
|
[m4_if([$#], 0, [m4_fatal([$0: too few arguments: $#])],
|
||||||
|
[$#], 1, [m4_fatal([$0: too few arguments: $#: $1])],
|
||||||
|
[$#], 2, [$2],
|
||||||
|
[m4_define([_m4_b], m4_pushdef([_m4_b])[m4_define([_m4_b],
|
||||||
|
_m4_defn([_$0]))]_m4_for([_m4_b], [3], m4_eval([($# + 1) / 2 * 2 - 1]),
|
||||||
|
[2], [_$0_([1], m4_decr(_m4_b), _m4_b)])[_m4_b([], [],]m4_dquote(
|
||||||
|
[$]m4_incr(_m4_b))[_m4_popdef([_m4_b]))])m4_unquote(_m4_b($@))])])
|
||||||
|
|
||||||
|
m4_define([_m4_bmatch],
|
||||||
|
[m4_if(m4_bregexp([$1], [$2]), [-1], [], [[$3]m4_define([$0])])])
|
||||||
|
|
||||||
|
m4_define([_m4_bmatch_],
|
||||||
|
[[_m4_b([$$1], [$$2], [$$3])]])
|
||||||
|
|
||||||
|
|
||||||
|
# m4_cond(TEST1, VAL1, IF-VAL1, TEST2, VAL2, IF-VAL2, ..., [DEFAULT])
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
# Similar to m4_if, except that each TEST is expanded when encountered.
|
||||||
|
# If the expansion of TESTn matches the string VALn, the result is IF-VALn.
|
||||||
|
# The result is DEFAULT if no tests passed. This macro allows
|
||||||
|
# short-circuiting of expensive tests, where it pays to arrange quick
|
||||||
|
# filter tests to run first.
|
||||||
|
#
|
||||||
|
# m4_cond already guarantees either 3*n or 3*n + 1 arguments, 1 <= n.
|
||||||
|
# We only have to speed up _m4_cond, by building the temporary _m4_c:
|
||||||
|
# m4_define([_m4_c], _m4_defn([m4_unquote]))_m4_c([m4_if(($1), [($2)],
|
||||||
|
# [[$3]m4_define([_m4_c])])])_m4_c([m4_if(($4), [($5)],
|
||||||
|
# [[$6]m4_define([_m4_c])])])..._m4_c([m4_if(($m-2), [($m-1)],
|
||||||
|
# [[$m]m4_define([_m4_c])])])_m4_c([[$m+1]]_m4_popdef([_m4_c]))
|
||||||
|
# We invoke m4_unquote(_m4_c($@)), for concatenation with later text.
|
||||||
|
m4_define([_m4_cond],
|
||||||
|
[m4_define([_m4_c], m4_pushdef([_m4_c])[m4_define([_m4_c],
|
||||||
|
_m4_defn([m4_unquote]))]_m4_for([_m4_c], [2], m4_eval([$# / 3 * 3 - 1]), [3],
|
||||||
|
[$0_(m4_decr(_m4_c), _m4_c, m4_incr(_m4_c))])[_m4_c(]m4_dquote(m4_dquote(
|
||||||
|
[$]m4_eval([$# / 3 * 3 + 1])))[_m4_popdef([_m4_c]))])m4_unquote(_m4_c($@))])
|
||||||
|
|
||||||
|
m4_define([_m4_cond_],
|
||||||
|
[[_m4_c([m4_if(($$1), [($$2)], [[$$3]m4_define([_m4_c])])])]])
|
||||||
|
|
||||||
|
# m4_bpatsubsts(STRING, RE1, SUBST1, RE2, SUBST2, ...)
|
||||||
|
# ----------------------------------------------------
|
||||||
|
# m4 equivalent of
|
||||||
|
#
|
||||||
|
# $_ = STRING;
|
||||||
|
# s/RE1/SUBST1/g;
|
||||||
|
# s/RE2/SUBST2/g;
|
||||||
|
# ...
|
||||||
|
#
|
||||||
|
# m4_bpatsubsts already validated an odd number of arguments; we only
|
||||||
|
# need to speed up _m4_bpatsubsts. To avoid nesting, we build the
|
||||||
|
# temporary _m4_p:
|
||||||
|
# m4_define([_m4_p], [$1])m4_define([_m4_p],
|
||||||
|
# m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$2], [$3]))m4_define([_m4_p],
|
||||||
|
# m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$4], [$5]))m4_define([_m4_p],...
|
||||||
|
# m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$m-1], [$m]))m4_unquote(
|
||||||
|
# _m4_defn([_m4_p])_m4_popdef([_m4_p]))
|
||||||
|
m4_define([_m4_bpatsubsts],
|
||||||
|
[m4_define([_m4_p], m4_pushdef([_m4_p])[m4_define([_m4_p],
|
||||||
|
]m4_dquote([$]1)[)]_m4_for([_m4_p], [3], [$#], [2], [$0_(m4_decr(_m4_p),
|
||||||
|
_m4_p)])[m4_unquote(_m4_defn([_m4_p])_m4_popdef([_m4_p]))])_m4_p($@)])
|
||||||
|
|
||||||
|
m4_define([_m4_bpatsubsts_],
|
||||||
|
[[m4_define([_m4_p],
|
||||||
|
m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$$1], [$$2]))]])
|
||||||
|
|
||||||
|
# m4_shiftn(N, ...)
|
||||||
|
# -----------------
|
||||||
|
# Returns ... shifted N times. Useful for recursive "varargs" constructs.
|
||||||
|
#
|
||||||
|
# m4_shiftn already validated arguments; we only need to speed up
|
||||||
|
# _m4_shiftn. If N is 3, then we build the temporary _m4_s, defined as
|
||||||
|
# ,[$5],[$6],...,[$m]_m4_popdef([_m4_s])
|
||||||
|
# before calling m4_shift(_m4_s($@)).
|
||||||
|
m4_define([_m4_shiftn],
|
||||||
|
[m4_if(m4_incr([$1]), [$#], [], [m4_define([_m4_s],
|
||||||
|
m4_pushdef([_m4_s])_m4_for([_m4_s], m4_eval([$1 + 2]), [$#], [1],
|
||||||
|
[[,]m4_dquote([$]_m4_s)])[_m4_popdef([_m4_s])])m4_shift(_m4_s($@))])])
|
||||||
|
|
||||||
|
# m4_do(STRING, ...)
|
||||||
|
# ------------------
|
||||||
|
# This macro invokes all its arguments (in sequence, of course). It is
|
||||||
|
# useful for making your macros more structured and readable by dropping
|
||||||
|
# unnecessary dnl's and have the macros indented properly.
|
||||||
|
#
|
||||||
|
# Here, we use the temporary macro _m4_do, defined as
|
||||||
|
# $1[]$2[]...[]$n[]_m4_popdef([_m4_do])
|
||||||
|
m4_define([m4_do],
|
||||||
|
[m4_if([$#], [0], [],
|
||||||
|
[m4_define([_$0], m4_pushdef([_$0])_m4_for([_$0], [1], [$#], [1],
|
||||||
|
[$_$0[[]]])[_m4_popdef([_$0])])_$0($@)])])
|
||||||
|
|
||||||
|
# m4_dquote_elt(ARGS)
|
||||||
|
# -------------------
|
||||||
|
# Return ARGS as an unquoted list of double-quoted arguments.
|
||||||
|
#
|
||||||
|
# m4_foreach to the rescue. It's easier to shift off the leading comma.
|
||||||
|
m4_define([m4_dquote_elt],
|
||||||
|
[m4_shift(m4_foreach([_m4_elt], [$@], [,m4_dquote(_m4_defn([_m4_elt]))]))])
|
||||||
|
|
||||||
|
# m4_reverse(ARGS)
|
||||||
|
# ----------------
|
||||||
|
# Output ARGS in reverse order.
|
||||||
|
#
|
||||||
|
# Invoke _m4_r($@) with the temporary _m4_r built as
|
||||||
|
# [$m], [$m-1], ..., [$2], [$1]_m4_popdef([_m4_r])
|
||||||
|
m4_define([m4_reverse],
|
||||||
|
[m4_if([$#], [0], [], [$#], [1], [[$1]],
|
||||||
|
[m4_define([_m4_r], m4_dquote([$$#])m4_pushdef([_m4_r])_m4_for([_m4_r],
|
||||||
|
m4_decr([$#]), [1], [-1],
|
||||||
|
[[, ]m4_dquote([$]_m4_r)])[_m4_popdef([_m4_r])])_m4_r($@)])])
|
||||||
|
|
||||||
|
|
||||||
|
# m4_map(MACRO, LIST)
|
||||||
|
# -------------------
|
||||||
|
# Invoke MACRO($1), MACRO($2) etc. where $1, $2... are the elements
|
||||||
|
# of LIST. $1, $2... must in turn be lists, appropriate for m4_apply.
|
||||||
|
#
|
||||||
|
# m4_map/m4_map_sep only execute once; the speedup comes in fixing
|
||||||
|
# _m4_map. The mismatch in () is intentional, since $1 supplies the
|
||||||
|
# opening `(' (but it sure looks odd!). Build the temporary _m4_m:
|
||||||
|
# $1, [$3])$1, [$4])...$1, [$m])_m4_popdef([_m4_m])
|
||||||
|
m4_define([_m4_map],
|
||||||
|
[m4_if([$#], [2], [],
|
||||||
|
[m4_define([_m4_m], m4_pushdef([_m4_m])_m4_for([_m4_m], [3], [$#], [1],
|
||||||
|
[$0_([1], _m4_m)])[_m4_popdef([_m4_m])])_m4_m($@)])])
|
||||||
|
|
||||||
|
m4_define([_m4_map_],
|
||||||
|
[[$$1, [$$2])]])
|
||||||
|
|
||||||
|
# m4_transform(EXPRESSION, ARG...)
|
||||||
|
# --------------------------------
|
||||||
|
# Expand EXPRESSION([ARG]) for each argument. More efficient than
|
||||||
|
# m4_foreach([var], [ARG...], [EXPRESSION(m4_defn([var]))])
|
||||||
|
#
|
||||||
|
# Invoke the temporary macro _m4_transform, defined as:
|
||||||
|
# $1([$2])[]$1([$3])[]...$1([$m])[]_m4_popdef([_m4_transform])
|
||||||
|
m4_define([m4_transform],
|
||||||
|
[m4_if([$#], [0], [m4_fatal([$0: too few arguments: $#])],
|
||||||
|
[$#], [1], [],
|
||||||
|
[m4_define([_$0], m4_pushdef([_$0])_m4_for([_$0], [2], [$#], [1],
|
||||||
|
[_$0_([1], _$0)])[_m4_popdef([_$0])])_$0($@)])])
|
||||||
|
|
||||||
|
m4_define([_m4_transform_],
|
||||||
|
[[$$1([$$2])[]]])
|
||||||
|
|
||||||
|
# m4_transform_pair(EXPRESSION, [END-EXPR = EXPRESSION], ARG...)
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
# Perform a pairwise grouping of consecutive ARGs, by expanding
|
||||||
|
# EXPRESSION([ARG1], [ARG2]). If there are an odd number of ARGs, the
|
||||||
|
# final argument is expanded with END-EXPR([ARGn]).
|
||||||
|
#
|
||||||
|
# Build the temporary macro _m4_transform_pair, with the $2([$m+1])
|
||||||
|
# only output if $# is odd:
|
||||||
|
# $1([$3], [$4])[]$1([$5], [$6])[]...$1([$m-1],
|
||||||
|
# [$m])[]m4_default([$2], [$1])([$m+1])[]_m4_popdef([_m4_transform_pair])
|
||||||
|
m4_define([m4_transform_pair],
|
||||||
|
[m4_if([$#], [0], [m4_fatal([$0: too few arguments: $#])],
|
||||||
|
[$#], [1], [m4_fatal([$0: too few arguments: $#: $1])],
|
||||||
|
[$#], [2], [],
|
||||||
|
[$#], [3], [m4_default([$2], [$1])([$3])[]],
|
||||||
|
[m4_define([_$0], m4_pushdef([_$0])_m4_for([_$0], [3],
|
||||||
|
m4_eval([$# / 2 * 2 - 1]), [2], [_$0_([1], _$0, m4_incr(_$0))])_$0_end(
|
||||||
|
[1], [2], [$#])[_m4_popdef([_$0])])_$0($@)])])
|
||||||
|
|
||||||
|
m4_define([_m4_transform_pair_],
|
||||||
|
[[$$1([$$2], [$$3])[]]])
|
||||||
|
|
||||||
|
m4_define([_m4_transform_pair_end],
|
||||||
|
[m4_if(m4_eval([$3 & 1]), [1], [[m4_default([$$2], [$$1])([$$3])[]]])])
|
||||||
|
|
||||||
|
# m4_join(SEP, ARG1, ARG2...)
|
||||||
|
# ---------------------------
|
||||||
|
# Produce ARG1SEPARG2...SEPARGn. Avoid back-to-back SEP when a given ARG
|
||||||
|
# is the empty string. No expansion is performed on SEP or ARGs.
|
||||||
|
#
|
||||||
|
# Use a self-modifying separator, since we don't know how many
|
||||||
|
# arguments might be skipped before a separator is first printed, but
|
||||||
|
# be careful if the separator contains $. m4_foreach to the rescue.
|
||||||
|
m4_define([m4_join],
|
||||||
|
[m4_pushdef([_m4_sep], [m4_define([_m4_sep], _m4_defn([m4_echo]))])]dnl
|
||||||
|
[m4_foreach([_m4_arg], [m4_shift($@)],
|
||||||
|
[m4_ifset([_m4_arg], [_m4_sep([$1])_m4_defn([_m4_arg])])])]dnl
|
||||||
|
[_m4_popdef([_m4_sep])])
|
||||||
|
|
||||||
|
# m4_joinall(SEP, ARG1, ARG2...)
|
||||||
|
# ------------------------------
|
||||||
|
# Produce ARG1SEPARG2...SEPARGn. An empty ARG results in back-to-back SEP.
|
||||||
|
# No expansion is performed on SEP or ARGs.
|
||||||
|
#
|
||||||
|
# A bit easier than m4_join. m4_foreach to the rescue.
|
||||||
|
m4_define([m4_joinall],
|
||||||
|
[[$2]m4_if(m4_eval([$# <= 2]), [1], [],
|
||||||
|
[m4_foreach([_m4_arg], [m4_shift2($@)],
|
||||||
|
[[$1]_m4_defn([_m4_arg])])])])
|
||||||
|
|
||||||
|
# m4_list_cmp(A, B)
|
||||||
|
# -----------------
|
||||||
|
# Compare the two lists of integer expressions A and B.
|
||||||
|
#
|
||||||
|
# m4_list_cmp takes care of any side effects; we only override
|
||||||
|
# _m4_list_cmp_raw, where we can safely expand lists multiple times.
|
||||||
|
# First, insert padding so that both lists are the same length; the
|
||||||
|
# trailing +0 is necessary to handle a missing list. Next, create a
|
||||||
|
# temporary macro to perform pairwise comparisons until an inequality
|
||||||
|
# is found. For example, m4_list_cmp([1], [1,2]) creates _m4_cmp as
|
||||||
|
# m4_if(m4_eval([($1) != ($3)]), [1], [m4_cmp([$1], [$3])],
|
||||||
|
# m4_eval([($2) != ($4)]), [1], [m4_cmp([$2], [$4])],
|
||||||
|
# [0]_m4_popdef([_m4_cmp], [_m4_size]))
|
||||||
|
# then calls _m4_cmp([1+0], [0], [1], [2+0])
|
||||||
|
m4_define([_m4_list_cmp_raw],
|
||||||
|
[m4_if([$1], [$2], 0, [m4_pushdef(
|
||||||
|
[_m4_size])_m4_list_cmp($1+0_m4_list_pad(m4_count($1), m4_count($2)),
|
||||||
|
$2+0_m4_list_pad(m4_count($2), m4_count($1)))])])
|
||||||
|
|
||||||
|
m4_define([_m4_list_pad],
|
||||||
|
[m4_if(m4_eval($1 < $2), [1],
|
||||||
|
[_m4_for([_m4_size], m4_incr([$1]), [$2], [1], [,0])])])
|
||||||
|
|
||||||
|
m4_define([_m4_list_cmp],
|
||||||
|
[m4_define([_m4_size], m4_eval([$# >> 1]))]dnl
|
||||||
|
[m4_define([_m4_cmp], m4_pushdef([_m4_cmp])[m4_if(]_m4_for([_m4_cmp],
|
||||||
|
[1], _m4_size, [1], [$0_(_m4_cmp, m4_eval(_m4_cmp + _m4_size))])[
|
||||||
|
[0]_m4_popdef([_m4_cmp], [_m4_size]))])_m4_cmp($@)])
|
||||||
|
|
||||||
|
m4_define([_m4_list_cmp_],
|
||||||
|
[[m4_eval([($$1) != ($$2)]), [1], [m4_cmp([$$1], [$$2])],
|
||||||
|
]])
|
||||||
|
|
||||||
|
# m4_max(EXPR, ...)
|
||||||
|
# m4_min(EXPR, ...)
|
||||||
|
# -----------------
|
||||||
|
# Return the decimal value of the maximum (or minimum) in a series of
|
||||||
|
# integer expressions.
|
||||||
|
#
|
||||||
|
# m4_foreach to the rescue; we only need to replace _m4_minmax. Here,
|
||||||
|
# we need a temporary macro to track the best answer so far, so that
|
||||||
|
# the foreach expression is tractable.
|
||||||
|
m4_define([_m4_minmax],
|
||||||
|
[m4_pushdef([_m4_best], m4_eval([$2]))m4_foreach([_m4_arg], [m4_shift2($@)],
|
||||||
|
[m4_define([_m4_best], $1(_m4_best, _m4_defn([_m4_arg])))])]dnl
|
||||||
|
[_m4_best[]_m4_popdef([_m4_best])])
|
||||||
|
|
||||||
|
# m4_set_add_all(SET, VALUE...)
|
||||||
|
# -----------------------------
|
||||||
|
# Add each VALUE into SET. This is O(n) in the number of VALUEs, and
|
||||||
|
# can be faster than calling m4_set_add for each VALUE.
|
||||||
|
#
|
||||||
|
# m4_foreach to the rescue. If no deletions have occurred, then avoid
|
||||||
|
# the speed penalty of m4_set_add.
|
||||||
|
m4_define([m4_set_add_all],
|
||||||
|
[m4_if([$#], [0], [], [$#], [1], [],
|
||||||
|
[m4_define([_m4_set_size($1)], m4_eval(m4_set_size([$1])
|
||||||
|
+ m4_len(m4_foreach([_m4_arg], [m4_shift($@)],
|
||||||
|
m4_ifdef([_m4_set_cleanup($1)],
|
||||||
|
[[m4_set_add([$1], _m4_defn([_m4_arg]))]],
|
||||||
|
[[m4_ifdef([_m4_set([$1],]_m4_defn([_m4_arg])[)], [],
|
||||||
|
[m4_define([_m4_set([$1],]_m4_defn([_m4_arg])[)],
|
||||||
|
[1])m4_pushdef([_m4_set([$1])],
|
||||||
|
_m4_defn([_m4_arg]))-])]])))))])])
|
||||||
@@ -1 +0,0 @@
|
|||||||
../../submodules/autoconf/lib/m4sugar/m4sugar.m4
|
|
||||||
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
<!--
|
<!--
|
||||||
bison.xsl - common templates for Bison XSLT.
|
bison.xsl - common templates for Bison XSLT.
|
||||||
|
|
||||||
Copyright (C) 2007-2011 Free Software Foundation, Inc.
|
Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
+6
-22
@@ -3,7 +3,7 @@
|
|||||||
<!--
|
<!--
|
||||||
xml2dot.xsl - transform Bison XML Report into DOT.
|
xml2dot.xsl - transform Bison XML Report into DOT.
|
||||||
|
|
||||||
Copyright (C) 2007-2011 Free Software Foundation, Inc.
|
Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
@@ -35,27 +35,11 @@
|
|||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template match="bison-xml-report">
|
<xsl:template match="bison-xml-report">
|
||||||
<xsl:text>// Generated by GNU Bison </xsl:text>
|
<xsl:apply-templates select="automaton"/>
|
||||||
<xsl:value-of select="@version"/>
|
|
||||||
<xsl:text>. </xsl:text>
|
|
||||||
<xsl:text>// Report bugs to <</xsl:text>
|
|
||||||
<xsl:value-of select="@bug-report"/>
|
|
||||||
<xsl:text>>. </xsl:text>
|
|
||||||
<xsl:text>// Home page: <</xsl:text>
|
|
||||||
<xsl:value-of select="@url"/>
|
|
||||||
<xsl:text>>. </xsl:text>
|
|
||||||
<xsl:apply-templates select="automaton">
|
|
||||||
<xsl:with-param name="filename" select="filename"/>
|
|
||||||
</xsl:apply-templates>
|
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template match="automaton">
|
<xsl:template match="automaton">
|
||||||
<xsl:param name="filename"/>
|
<xsl:text>digraph Automaton { </xsl:text>
|
||||||
<xsl:text>digraph "</xsl:text>
|
|
||||||
<xsl:call-template name="escape">
|
|
||||||
<xsl:with-param name="subject" select="$filename"/>
|
|
||||||
</xsl:call-template>
|
|
||||||
<xsl:text>" { </xsl:text>
|
|
||||||
<xsl:apply-templates select="state"/>
|
<xsl:apply-templates select="state"/>
|
||||||
<xsl:text>} </xsl:text>
|
<xsl:text>} </xsl:text>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
@@ -212,11 +196,11 @@
|
|||||||
<xsl:with-param name="search" select="$search"/>
|
<xsl:with-param name="search" select="$search"/>
|
||||||
<xsl:with-param name="replace" select="$replace"/>
|
<xsl:with-param name="replace" select="$replace"/>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:otherwise>
|
<xsl:otherwise>
|
||||||
<xsl:value-of select="$subject"/>
|
<xsl:value-of select="$subject"/>
|
||||||
</xsl:otherwise>
|
</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
</xsl:stylesheet>
|
</xsl:stylesheet>
|
||||||
|
|||||||
@@ -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-2011 Free Software Foundation, Inc.
|
Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<!--
|
<!--
|
||||||
xml2html.xsl - transform Bison XML Report into XHTML.
|
xml2html.xsl - transform Bison XML Report into XHTML.
|
||||||
|
|
||||||
Copyright (C) 2007-2011 Free Software Foundation, Inc.
|
Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
@@ -48,15 +48,15 @@
|
|||||||
font-size: 9pt;
|
font-size: 9pt;
|
||||||
}
|
}
|
||||||
a:link {
|
a:link {
|
||||||
color: #1f00ff;
|
color: #1f00ff;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
a:visited {
|
a:visited {
|
||||||
color: #1f00ff;
|
color: #1f00ff;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
a:hover {
|
a:hover {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
#menu a {
|
#menu a {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
|
|||||||
+306
-689
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,8 @@
|
|||||||
# DJGPP Maintainer's Makefile -*-Makefile-*-
|
# DJGPP Maintainer's Makefile -*-Makefile-*-
|
||||||
# Requires GNU sed
|
# Requires GNU sed
|
||||||
|
|
||||||
## Copyright (C) 2005-2011 Free Software Foundation, Inc.
|
## Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||||
|
## Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
This is a port of GNU Bison @VERSION@ to MSDOS/DJGPP.
|
This is a port of GNU Bison @VERSION@ to MSDOS/DJGPP.
|
||||||
|
|
||||||
Copyright (C) 2005-2011 Free Software Foundation, Inc.
|
Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||||
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+2
-1
@@ -4,7 +4,8 @@ Rem Configure Bison for DJGPP.
|
|||||||
Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line
|
Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line
|
||||||
Rem format, or else stock DOS/Windows shells will refuse to run it.
|
Rem format, or else stock DOS/Windows shells will refuse to run it.
|
||||||
|
|
||||||
Rem Copyright (C) 2005-2011 Free Software Foundation, Inc.
|
Rem Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||||
|
Rem Foundation, Inc.
|
||||||
|
|
||||||
Rem This program is free software: you can redistribute it and/or modify
|
Rem This program is free software: you can redistribute it and/or modify
|
||||||
Rem it under the terms of the GNU General Public License as published by
|
Rem it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+2
-1
@@ -2,7 +2,8 @@
|
|||||||
# Sed script for additional DJGPP specific editing
|
# Sed script for additional DJGPP specific editing
|
||||||
# of the configure script generated by autoconf 2.62.
|
# of the configure script generated by autoconf 2.62.
|
||||||
|
|
||||||
# Copyright (C) 2005-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||||
|
# Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+2
-1
@@ -3,7 +3,8 @@
|
|||||||
# This is the config.site file for configuring GNU packages
|
# This is the config.site file for configuring GNU packages
|
||||||
# which are to be built with DJGPP tools.
|
# which are to be built with DJGPP tools.
|
||||||
|
|
||||||
# Copyright (C) 2005-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||||
|
# Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
# sed script for DJGPP specific editing of config.hin
|
# sed script for DJGPP specific editing of config.hin
|
||||||
|
|
||||||
# Copyright (C) 2005-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||||
|
# Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+2
-1
@@ -7,7 +7,8 @@ Rem This batch file unpacks the Bison distribution while simultaneously
|
|||||||
Rem renaming some of the files whose names are invalid on DOS or conflict
|
Rem renaming some of the files whose names are invalid on DOS or conflict
|
||||||
Rem with other file names after truncation to DOS 8+3 namespace.
|
Rem with other file names after truncation to DOS 8+3 namespace.
|
||||||
Rem
|
Rem
|
||||||
Rem Copyright (C) 2005-2011 Free Software Foundation, Inc.
|
Rem Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||||
|
Rem Foundation, Inc.
|
||||||
Rem
|
Rem
|
||||||
Rem This program is free software: you can redistribute it and/or modify
|
Rem This program is free software: you can redistribute it and/or modify
|
||||||
Rem it under the terms of the GNU General Public License as published by
|
Rem it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
/* Subprocesses with pipes.
|
/* Subprocesses with pipes.
|
||||||
|
|
||||||
Copyright (C) 2005-2011 Free Software Foundation, Inc.
|
Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||||
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
/* Subprocesses with pipes.
|
/* Subprocesses with pipes.
|
||||||
|
|
||||||
Copyright (C) 2005-2011 Free Software Foundation, Inc.
|
Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -2,7 +2,7 @@
|
|||||||
# Sed script for additional DJGPP specific editing
|
# Sed script for additional DJGPP specific editing
|
||||||
# of the testsuite script generated by autoconf 2.61.
|
# of the testsuite script generated by autoconf 2.61.
|
||||||
|
|
||||||
# Copyright (C) 2007-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2007, 2008, 2009, 2010 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
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
*.info*
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
bison.1
|
||||||
|
bison.aux
|
||||||
|
bison.cp
|
||||||
|
bison.cps
|
||||||
|
bison.dvi
|
||||||
|
bison.fn
|
||||||
|
bison.html
|
||||||
|
bison.ky
|
||||||
|
bison.log
|
||||||
|
bison.pdf
|
||||||
|
bison.pg
|
||||||
|
bison.ps
|
||||||
|
bison.toc
|
||||||
|
bison.tp
|
||||||
|
bison.vr
|
||||||
|
cross-options.texi
|
||||||
|
gendocs_template
|
||||||
|
refcard.dvi
|
||||||
|
refcard.log
|
||||||
|
refcard.ps
|
||||||
|
stamp-vti
|
||||||
|
version.texi
|
||||||
|
yacc.1
|
||||||
@@ -1,7 +1,4 @@
|
|||||||
|
|
||||||
/*.info*
|
/*.info*
|
||||||
/*~
|
|
||||||
/.dirstamp
|
|
||||||
/Makefile
|
/Makefile
|
||||||
/Makefile.in
|
/Makefile.in
|
||||||
/bison.1
|
/bison.1
|
||||||
@@ -27,4 +24,3 @@
|
|||||||
/stamp-vti
|
/stamp-vti
|
||||||
/version.texi
|
/version.texi
|
||||||
/yacc.1
|
/yacc.1
|
||||||
|
|
||||||
|
|||||||
+4
-6
@@ -1,6 +1,7 @@
|
|||||||
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||||
|
|
||||||
## Copyright (C) 2001-2003, 2005-2011 Free Software Foundation, Inc.
|
## Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010
|
||||||
|
## 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,12 +27,9 @@ clean-local:
|
|||||||
|
|
||||||
CROSS_OPTIONS_PL = $(top_srcdir)/build-aux/cross-options.pl
|
CROSS_OPTIONS_PL = $(top_srcdir)/build-aux/cross-options.pl
|
||||||
$(srcdir)/cross-options.texi: $(top_srcdir)/src/getargs.c $(CROSS_OPTIONS_PL)
|
$(srcdir)/cross-options.texi: $(top_srcdir)/src/getargs.c $(CROSS_OPTIONS_PL)
|
||||||
mv -f $@ $@~ || : >$@~
|
-rm -f $@ $@.tmp
|
||||||
-rm -f $@.tmp
|
|
||||||
cd $(top_builddir)/src && $(MAKE) $(AM_MAKEFLAGS) bison
|
cd $(top_builddir)/src && $(MAKE) $(AM_MAKEFLAGS) bison
|
||||||
$(top_builddir)/src/bison --help \
|
$(top_builddir)/src/bison --help | perl $(CROSS_OPTIONS_PL) >$@.tmp
|
||||||
| perl $(CROSS_OPTIONS_PL) $(top_srcdir)/src/scan-gram.l >$@.tmp
|
|
||||||
diff -u $@~ $@.tmp || true
|
|
||||||
mv $@.tmp $@
|
mv $@.tmp $@
|
||||||
MAINTAINERCLEANFILES = $(srcdir)/cross-options.texi
|
MAINTAINERCLEANFILES = $(srcdir)/cross-options.texi
|
||||||
|
|
||||||
|
|||||||
+833
-1630
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -19,7 +19,7 @@
|
|||||||
\def\finalout{\overfullrule=0pt}
|
\def\finalout{\overfullrule=0pt}
|
||||||
%\finalout
|
%\finalout
|
||||||
|
|
||||||
% Copyright (c) 1998, 2001, 2009-2011 Free Software Foundation, Inc.
|
% Copyright (c) 1998, 2001, 2009, 2010 Free Software Foundation, Inc.
|
||||||
%
|
%
|
||||||
% This file is part of Bison.
|
% This file is part of Bison.
|
||||||
%
|
%
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
bench.pl
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
## Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
|
## Copyright (C) 2006, 2009, 2010 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
@@ -19,7 +19,7 @@ straightforward use of _build/src/bison would.)
|
|||||||
|
|
||||||
--
|
--
|
||||||
|
|
||||||
Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2006, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -1,6 +1,6 @@
|
|||||||
#! /usr/bin/perl -w
|
#! /usr/bin/perl -w
|
||||||
|
|
||||||
# Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of Bison, the GNU Compiler Compiler.
|
# This file is part of Bison, the GNU Compiler Compiler.
|
||||||
#
|
#
|
||||||
@@ -343,8 +343,8 @@ sub bench_grammar ($)
|
|||||||
(
|
(
|
||||||
"pull-impure" => '',
|
"pull-impure" => '',
|
||||||
"pull-pure" => '%define api.pure',
|
"pull-pure" => '%define api.pure',
|
||||||
"push-impure" => '%define api.push-pull "both"',
|
"push-impure" => '%define api.push_pull "both"',
|
||||||
"push-pure" => '%define api.push-pull "both" %define api.pure',
|
"push-pure" => '%define api.push_pull "both" %define api.pure',
|
||||||
);
|
);
|
||||||
|
|
||||||
my %bench;
|
my %bench;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||||
## Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
|
## Copyright (C) 2005, 2009, 2010 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
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
*.cc
|
||||||
|
*.hh
|
||||||
|
*.ll
|
||||||
|
*.output
|
||||||
|
*.stamp
|
||||||
|
*.tmp
|
||||||
|
*.yy
|
||||||
|
.deps
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
calc++
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||||
## Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
|
## Copyright (C) 2005, 2006, 2009, 2010 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
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# This file is part of GNU Bison
|
# This file is part of GNU Bison
|
||||||
|
|
||||||
# Copyright (C) 1992, 2000-2001, 2005-2006, 2009-2011 Free Software
|
# Copyright (C) 1992, 2000, 2001, 2005, 2006, 2009, 2010 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
Submodule gnulib updated: eff4c0360a...b48afd89ec
+177
@@ -0,0 +1,177 @@
|
|||||||
|
.deps
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
alloca.h
|
||||||
|
alloca.in.h
|
||||||
|
argmatch.c
|
||||||
|
argmatch.h
|
||||||
|
basename-lgpl.c
|
||||||
|
basename.c
|
||||||
|
binary-io.h
|
||||||
|
bitrotate.h
|
||||||
|
c-ctype.c
|
||||||
|
c-ctype.h
|
||||||
|
c-strcase.h
|
||||||
|
c-strcasecmp.c
|
||||||
|
c-strncasecmp.c
|
||||||
|
charset.alias
|
||||||
|
cloexec.c
|
||||||
|
cloexec.h
|
||||||
|
config.charset
|
||||||
|
config.h
|
||||||
|
config.hin
|
||||||
|
configmake.h
|
||||||
|
dirname-lgpl.c
|
||||||
|
dirname.c
|
||||||
|
dirname.h
|
||||||
|
dup-safer-flag.c
|
||||||
|
dup-safer.c
|
||||||
|
dup2.c
|
||||||
|
errno.h
|
||||||
|
errno.in.h
|
||||||
|
error.c
|
||||||
|
error.h
|
||||||
|
exitfail.c
|
||||||
|
exitfail.h
|
||||||
|
fatal-signal.c
|
||||||
|
fatal-signal.h
|
||||||
|
fcntl.c
|
||||||
|
fcntl.h
|
||||||
|
fcntl.in.h
|
||||||
|
fd-safer-flag.c
|
||||||
|
fd-safer.c
|
||||||
|
fopen-safer.c
|
||||||
|
fopen.c
|
||||||
|
getdtablesize.c
|
||||||
|
getopt.c
|
||||||
|
getopt.h
|
||||||
|
getopt.in.h
|
||||||
|
getopt1.c
|
||||||
|
getopt_.h
|
||||||
|
getopt_int.h
|
||||||
|
getpagesize.c
|
||||||
|
gettext.h
|
||||||
|
gnulib.mk
|
||||||
|
hash.c
|
||||||
|
hash.h
|
||||||
|
intprops.h
|
||||||
|
inttypes.h
|
||||||
|
inttypes.in.h
|
||||||
|
inttypes_.h
|
||||||
|
localcharset.c
|
||||||
|
localcharset.h
|
||||||
|
malloc.c
|
||||||
|
mbrtowc.c
|
||||||
|
mbsinit.c
|
||||||
|
mbswidth.c
|
||||||
|
mbswidth.h
|
||||||
|
memchr.c
|
||||||
|
memchr.valgrind
|
||||||
|
obstack.c
|
||||||
|
obstack.h
|
||||||
|
open.c
|
||||||
|
pipe-safer.c
|
||||||
|
pipe.c
|
||||||
|
pipe.h
|
||||||
|
pipe2-safer.c
|
||||||
|
pipe2.c
|
||||||
|
quote.c
|
||||||
|
quote.h
|
||||||
|
quotearg.c
|
||||||
|
quotearg.h
|
||||||
|
rawmemchr.c
|
||||||
|
rawmemchr.valgrind
|
||||||
|
ref-add.sed
|
||||||
|
ref-add.sin
|
||||||
|
ref-del.sed
|
||||||
|
ref-del.sin
|
||||||
|
sched.h
|
||||||
|
sched.in.h
|
||||||
|
sig-handler.h
|
||||||
|
sigaction.c
|
||||||
|
signal.h
|
||||||
|
signal.in.h
|
||||||
|
sigprocmask.c
|
||||||
|
spawn.h
|
||||||
|
spawn.in.h
|
||||||
|
spawn_faction_addclose.c
|
||||||
|
spawn_faction_adddup2.c
|
||||||
|
spawn_faction_addopen.c
|
||||||
|
spawn_faction_destroy.c
|
||||||
|
spawn_faction_init.c
|
||||||
|
spawn_int.h
|
||||||
|
spawnattr_destroy.c
|
||||||
|
spawnattr_init.c
|
||||||
|
spawnattr_setflags.c
|
||||||
|
spawnattr_setsigmask.c
|
||||||
|
spawni.c
|
||||||
|
spawnp.c
|
||||||
|
stamp-h1
|
||||||
|
stat.c
|
||||||
|
stdbool.h
|
||||||
|
stdbool.in.h
|
||||||
|
stdbool_.h
|
||||||
|
stddef.h
|
||||||
|
stddef.in.h
|
||||||
|
stdint.h
|
||||||
|
stdint.in.h
|
||||||
|
stdint_.h
|
||||||
|
stdio--.h
|
||||||
|
stdio-safer.h
|
||||||
|
stdio-write.c
|
||||||
|
stdio.h
|
||||||
|
stdio.in.h
|
||||||
|
stdlib.h
|
||||||
|
stdlib.in.h
|
||||||
|
stdlib_.h
|
||||||
|
stpcpy.c
|
||||||
|
strchrnul.c
|
||||||
|
strchrnul.valgrind
|
||||||
|
streq.h
|
||||||
|
strerror.c
|
||||||
|
string.h
|
||||||
|
string.in.h
|
||||||
|
string_.h
|
||||||
|
stripslash.c
|
||||||
|
strndup.c
|
||||||
|
strnlen.c
|
||||||
|
strtol.c
|
||||||
|
strtoul.c
|
||||||
|
strverscmp.c
|
||||||
|
strverscmp.h
|
||||||
|
sys
|
||||||
|
sys_stat.h
|
||||||
|
sys_stat.in.h
|
||||||
|
sys_wait.h
|
||||||
|
sys_wait.in.h
|
||||||
|
time.h
|
||||||
|
time.in.h
|
||||||
|
unistd--.h
|
||||||
|
unistd-safer.h
|
||||||
|
unistd.h
|
||||||
|
unistd.in.h
|
||||||
|
unistd_.h
|
||||||
|
unitypes.h
|
||||||
|
unitypes.in.h
|
||||||
|
uniwidth
|
||||||
|
uniwidth.h
|
||||||
|
uniwidth.in.h
|
||||||
|
unlocked-io.h
|
||||||
|
unsetenv.c
|
||||||
|
verify.h
|
||||||
|
w32spawn.h
|
||||||
|
wait-process.c
|
||||||
|
wait-process.h
|
||||||
|
wchar.h
|
||||||
|
wchar.in.h
|
||||||
|
wchar_.h
|
||||||
|
wctype.h
|
||||||
|
wctype.in.h
|
||||||
|
wctype_.h
|
||||||
|
wcwidth.c
|
||||||
|
wcwidth.h
|
||||||
|
xalloc-die.c
|
||||||
|
xalloc.h
|
||||||
|
xmalloc.c
|
||||||
|
xstrndup.c
|
||||||
|
xstrndup.h
|
||||||
+13
-78
@@ -1,36 +1,25 @@
|
|||||||
|
|
||||||
/*.a
|
/*.a
|
||||||
/*.bak
|
|
||||||
/*.o
|
/*.o
|
||||||
/*~
|
/*~
|
||||||
/.deps
|
/.deps
|
||||||
/.dirstamp
|
|
||||||
/Makefile
|
/Makefile
|
||||||
/Makefile.in
|
/Makefile.in
|
||||||
/alignof.h
|
|
||||||
/alloca.h
|
/alloca.h
|
||||||
/alloca.in.h
|
/alloca.in.h
|
||||||
/arg-nonnull.h
|
|
||||||
/argmatch.c
|
/argmatch.c
|
||||||
/argmatch.h
|
/argmatch.h
|
||||||
/asnprintf.c
|
|
||||||
/basename-lgpl.c
|
/basename-lgpl.c
|
||||||
/basename.c
|
/basename.c
|
||||||
/binary-io.h
|
/binary-io.h
|
||||||
/bitrotate.h
|
/bitrotate.h
|
||||||
/c++defs.h
|
|
||||||
/c-ctype.c
|
/c-ctype.c
|
||||||
/c-ctype.h
|
/c-ctype.h
|
||||||
/c-strcase.h
|
/c-strcase.h
|
||||||
/c-strcasecmp.c
|
/c-strcasecmp.c
|
||||||
/c-strncasecmp.c
|
/c-strncasecmp.c
|
||||||
/calloc.c
|
|
||||||
/charset.alias
|
/charset.alias
|
||||||
/cloexec.c
|
/cloexec.c
|
||||||
/cloexec.h
|
/cloexec.h
|
||||||
/close-hook.c
|
|
||||||
/close-hook.h
|
|
||||||
/close.c
|
|
||||||
/config.charset
|
/config.charset
|
||||||
/config.h
|
/config.h
|
||||||
/config.hin
|
/config.hin
|
||||||
@@ -38,7 +27,6 @@
|
|||||||
/dirname-lgpl.c
|
/dirname-lgpl.c
|
||||||
/dirname.c
|
/dirname.c
|
||||||
/dirname.h
|
/dirname.h
|
||||||
/dosname.h
|
|
||||||
/dup-safer-flag.c
|
/dup-safer-flag.c
|
||||||
/dup-safer.c
|
/dup-safer.c
|
||||||
/dup2.c
|
/dup2.c
|
||||||
@@ -50,29 +38,21 @@
|
|||||||
/exitfail.h
|
/exitfail.h
|
||||||
/fatal-signal.c
|
/fatal-signal.c
|
||||||
/fatal-signal.h
|
/fatal-signal.h
|
||||||
/fclose.c
|
|
||||||
/fcntl.c
|
/fcntl.c
|
||||||
/fcntl.h
|
/fcntl.h
|
||||||
/fcntl.in.h
|
/fcntl.in.h
|
||||||
/fd-safer-flag.c
|
/fd-safer-flag.c
|
||||||
/fd-safer.c
|
/fd-safer.c
|
||||||
/float+.h
|
|
||||||
/float.h
|
|
||||||
/float.in.h
|
|
||||||
/fopen-safer.c
|
/fopen-safer.c
|
||||||
/fopen.c
|
/fopen.c
|
||||||
/fprintf.c
|
|
||||||
/fpucw.h
|
|
||||||
/frexp.c
|
|
||||||
/frexpl.c
|
|
||||||
/fseterr.c
|
|
||||||
/fseterr.h
|
|
||||||
/getdtablesize.c
|
/getdtablesize.c
|
||||||
/getopt.c
|
/getopt.c
|
||||||
/getopt.h
|
/getopt.h
|
||||||
/getopt.in.h
|
/getopt.in.h
|
||||||
/getopt1.c
|
/getopt1.c
|
||||||
|
/getopt_.h
|
||||||
/getopt_int.h
|
/getopt_int.h
|
||||||
|
/getpagesize.c
|
||||||
/gettext.h
|
/gettext.h
|
||||||
/gnulib.mk
|
/gnulib.mk
|
||||||
/hash.c
|
/hash.c
|
||||||
@@ -80,58 +60,30 @@
|
|||||||
/intprops.h
|
/intprops.h
|
||||||
/inttypes.h
|
/inttypes.h
|
||||||
/inttypes.in.h
|
/inttypes.in.h
|
||||||
/ioctl.c
|
/inttypes_.h
|
||||||
/isnan.c
|
|
||||||
/isnand-nolibm.h
|
|
||||||
/isnand.c
|
|
||||||
/isnanf-nolibm.h
|
|
||||||
/isnanf.c
|
|
||||||
/isnanl-nolibm.h
|
|
||||||
/isnanl.c
|
|
||||||
/iswblank.c
|
|
||||||
/ldexpl.c
|
|
||||||
/localcharset.c
|
/localcharset.c
|
||||||
/localcharset.h
|
/localcharset.h
|
||||||
/malloc.c
|
/malloc.c
|
||||||
/math.h
|
|
||||||
/math.in.h
|
|
||||||
/mbchar.c
|
|
||||||
/mbchar.h
|
|
||||||
/mbrtowc.c
|
/mbrtowc.c
|
||||||
/mbschr.c
|
|
||||||
/mbsinit.c
|
/mbsinit.c
|
||||||
/mbsrchr.c
|
|
||||||
/mbswidth.c
|
/mbswidth.c
|
||||||
/mbswidth.h
|
/mbswidth.h
|
||||||
/mbuiter.h
|
|
||||||
/memchr.c
|
/memchr.c
|
||||||
/memchr.valgrind
|
/memchr.valgrind
|
||||||
/nonblocking.c
|
|
||||||
/nonblocking.h
|
|
||||||
/obstack.c
|
/obstack.c
|
||||||
/obstack.h
|
/obstack.h
|
||||||
/open.c
|
/open.c
|
||||||
/perror.c
|
|
||||||
/pipe-safer.c
|
/pipe-safer.c
|
||||||
/pipe.c
|
/pipe.c
|
||||||
|
/pipe.h
|
||||||
/pipe2-safer.c
|
/pipe2-safer.c
|
||||||
/pipe2.c
|
/pipe2.c
|
||||||
/printf-args.c
|
|
||||||
/printf-args.h
|
|
||||||
/printf-frexp.c
|
|
||||||
/printf-frexp.h
|
|
||||||
/printf-frexpl.c
|
|
||||||
/printf-frexpl.h
|
|
||||||
/printf-parse.c
|
|
||||||
/printf-parse.h
|
|
||||||
/printf.c
|
|
||||||
/quote.c
|
/quote.c
|
||||||
/quote.h
|
/quote.h
|
||||||
/quotearg.c
|
/quotearg.c
|
||||||
/quotearg.h
|
/quotearg.h
|
||||||
/rawmemchr.c
|
/rawmemchr.c
|
||||||
/rawmemchr.valgrind
|
/rawmemchr.valgrind
|
||||||
/realloc.c
|
|
||||||
/ref-add.sed
|
/ref-add.sed
|
||||||
/ref-add.sin
|
/ref-add.sin
|
||||||
/ref-del.sed
|
/ref-del.sed
|
||||||
@@ -142,14 +94,7 @@
|
|||||||
/sigaction.c
|
/sigaction.c
|
||||||
/signal.h
|
/signal.h
|
||||||
/signal.in.h
|
/signal.in.h
|
||||||
/signbitd.c
|
|
||||||
/signbitf.c
|
|
||||||
/signbitl.c
|
|
||||||
/sigprocmask.c
|
/sigprocmask.c
|
||||||
/size_max.h
|
|
||||||
/snprintf.c
|
|
||||||
/spawn-pipe.c
|
|
||||||
/spawn-pipe.h
|
|
||||||
/spawn.h
|
/spawn.h
|
||||||
/spawn.in.h
|
/spawn.in.h
|
||||||
/spawn_faction_addclose.c
|
/spawn_faction_addclose.c
|
||||||
@@ -164,44 +109,40 @@
|
|||||||
/spawnattr_setsigmask.c
|
/spawnattr_setsigmask.c
|
||||||
/spawni.c
|
/spawni.c
|
||||||
/spawnp.c
|
/spawnp.c
|
||||||
/sprintf.c
|
|
||||||
/stamp-h1
|
/stamp-h1
|
||||||
/stat.c
|
/stat.c
|
||||||
/stdbool.h
|
/stdbool.h
|
||||||
/stdbool.in.h
|
/stdbool.in.h
|
||||||
|
/stdbool_.h
|
||||||
/stddef.h
|
/stddef.h
|
||||||
/stddef.in.h
|
/stddef.in.h
|
||||||
/stdint.h
|
/stdint.h
|
||||||
/stdint.in.h
|
/stdint.in.h
|
||||||
|
/stdint_.h
|
||||||
/stdio--.h
|
/stdio--.h
|
||||||
/stdio-impl.h
|
|
||||||
/stdio-safer.h
|
/stdio-safer.h
|
||||||
/stdio-write.c
|
/stdio-write.c
|
||||||
/stdio.h
|
/stdio.h
|
||||||
/stdio.in.h
|
/stdio.in.h
|
||||||
/stdlib.h
|
/stdlib.h
|
||||||
/stdlib.in.h
|
/stdlib.in.h
|
||||||
|
/stdlib_.h
|
||||||
/stpcpy.c
|
/stpcpy.c
|
||||||
/strchrnul.c
|
/strchrnul.c
|
||||||
/strchrnul.valgrind
|
/strchrnul.valgrind
|
||||||
/strdup.c
|
|
||||||
/streq.h
|
/streq.h
|
||||||
/strerror.c
|
/strerror.c
|
||||||
/string.h
|
/string.h
|
||||||
/string.in.h
|
/string.in.h
|
||||||
|
/string_.h
|
||||||
/stripslash.c
|
/stripslash.c
|
||||||
/strndup.c
|
/strndup.c
|
||||||
/strnlen.c
|
/strnlen.c
|
||||||
/strnlen1.c
|
|
||||||
/strnlen1.h
|
|
||||||
/strtol.c
|
/strtol.c
|
||||||
/strtoul.c
|
/strtoul.c
|
||||||
/strverscmp.c
|
/strverscmp.c
|
||||||
|
/strverscmp.h
|
||||||
/sys
|
/sys
|
||||||
/sys_ioctl.h
|
|
||||||
/sys_ioctl.in.h
|
|
||||||
/sys_socket.h
|
|
||||||
/sys_socket.in.h
|
|
||||||
/sys_stat.h
|
/sys_stat.h
|
||||||
/sys_stat.in.h
|
/sys_stat.in.h
|
||||||
/sys_wait.h
|
/sys_wait.h
|
||||||
@@ -212,6 +153,7 @@
|
|||||||
/unistd-safer.h
|
/unistd-safer.h
|
||||||
/unistd.h
|
/unistd.h
|
||||||
/unistd.in.h
|
/unistd.in.h
|
||||||
|
/unistd_.h
|
||||||
/unitypes.h
|
/unitypes.h
|
||||||
/unitypes.in.h
|
/unitypes.in.h
|
||||||
/uniwidth
|
/uniwidth
|
||||||
@@ -219,27 +161,20 @@
|
|||||||
/uniwidth.in.h
|
/uniwidth.in.h
|
||||||
/unlocked-io.h
|
/unlocked-io.h
|
||||||
/unsetenv.c
|
/unsetenv.c
|
||||||
/vasnprintf.c
|
|
||||||
/vasnprintf.h
|
|
||||||
/verify.h
|
/verify.h
|
||||||
/vfprintf.c
|
|
||||||
/vsnprintf.c
|
|
||||||
/vsprintf.c
|
|
||||||
/w32sock.h
|
|
||||||
/w32spawn.h
|
/w32spawn.h
|
||||||
/wait-process.c
|
/wait-process.c
|
||||||
/wait-process.h
|
/wait-process.h
|
||||||
/waitpid.c
|
|
||||||
/warn-on-use.h
|
|
||||||
/wchar.h
|
/wchar.h
|
||||||
/wchar.in.h
|
/wchar.in.h
|
||||||
|
/wchar_.h
|
||||||
/wctype.h
|
/wctype.h
|
||||||
/wctype.in.h
|
/wctype.in.h
|
||||||
|
/wctype_.h
|
||||||
/wcwidth.c
|
/wcwidth.c
|
||||||
|
/wcwidth.h
|
||||||
/xalloc-die.c
|
/xalloc-die.c
|
||||||
/xalloc.h
|
/xalloc.h
|
||||||
/xmalloc.c
|
/xmalloc.c
|
||||||
/xsize.h
|
|
||||||
/xstrndup.c
|
/xstrndup.c
|
||||||
/xstrndup.h
|
/xstrndup.h
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
# Make bison/lib.
|
# Make bison/lib.
|
||||||
|
|
||||||
# Copyright (C) 2001-2004, 2006, 2008-2011 Free Software Foundation,
|
# Copyright (C) 2001, 2002, 2003, 2004, 2006, 2008, 2009, 2010 Free
|
||||||
# Inc.
|
# Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
/* Array bitsets.
|
/* Array bitsets.
|
||||||
|
|
||||||
Copyright (C) 2002-2003, 2006, 2009-2011 Free Software Foundation,
|
Copyright (C) 2002, 2003, 2006, 2009, 2010 Free Software
|
||||||
Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
/* Functions to support abitsets.
|
/* Functions to support abitsets.
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
/* Base bitset stuff.
|
/* Base bitset stuff.
|
||||||
|
|
||||||
Copyright (C) 2002-2004, 2006, 2009-2011 Free Software Foundation,
|
Copyright (C) 2002, 2003, 2004, 2006, 2009, 2010 Free Software
|
||||||
Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
/* General bitsets.
|
/* General bitsets.
|
||||||
|
|
||||||
Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009, 2010 Free
|
||||||
|
Software Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
/* Generic bitsets.
|
/* Generic bitsets.
|
||||||
|
|
||||||
Copyright (C) 2002-2004, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2003, 2004, 2009, 2010 Free Software
|
||||||
|
Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
/* Bitset statistics.
|
/* Bitset statistics.
|
||||||
|
|
||||||
Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009, 2010 Free
|
||||||
|
Software Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
/* Functions to support bitset statistics.
|
/* Functions to support bitset statistics.
|
||||||
|
|
||||||
Copyright (C) 2002-2004, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2003, 2004, 2009, 2010 Free Software
|
||||||
|
Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
/* Bitset vectors.
|
/* Bitset vectors.
|
||||||
|
|
||||||
Copyright (C) 2001-2002, 2004, 2006, 2009-2011 Free Software
|
Copyright (C) 2001, 2002, 2004, 2006, 2009, 2010 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
@@ -1,6 +1,6 @@
|
|||||||
/* Bitset vectors.
|
/* Bitset vectors.
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Akim Demaille (akim@freefriends.org).
|
Contributed by Akim Demaille (akim@freefriends.org).
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
/* Bitset vectors.
|
/* Bitset vectors.
|
||||||
|
|
||||||
Copyright (C) 2001-2002, 2004-2006, 2009-2011 Free Software
|
Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009, 2010 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
@@ -1,6 +1,6 @@
|
|||||||
/* Bitset vectors.
|
/* Bitset vectors.
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
/* Functions to support expandable bitsets.
|
/* Functions to support expandable bitsets.
|
||||||
|
|
||||||
Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009, 2010 Free
|
||||||
|
Software Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
/* Functions to support ebitsets.
|
/* Functions to support ebitsets.
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
/* get-errno.c - get and set errno.
|
/* get-errno.c - get and set errno.
|
||||||
|
|
||||||
Copyright (C) 2002, 2006, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2006, 2009, 2010 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
@@ -1,6 +1,6 @@
|
|||||||
/* get-errno.h - get and set errno.
|
/* get-errno.h - get and set errno.
|
||||||
|
|
||||||
Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
/* Functions to support link list bitsets.
|
/* Functions to support link list bitsets.
|
||||||
|
|
||||||
Copyright (C) 2002-2004, 2006, 2009-2011 Free Software Foundation,
|
Copyright (C) 2002, 2003, 2004, 2006, 2009, 2010 Free Software
|
||||||
Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
/* Functions to support lbitsets.
|
/* Functions to support lbitsets.
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
/* Fake libiberty.h for Bison.
|
/* Fake libiberty.h for Bison.
|
||||||
|
|
||||||
Copyright (C) 2002-2004, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2003, 2004, 2009, 2010 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
@@ -1,6 +1,6 @@
|
|||||||
/* Yacc library main function.
|
/* Yacc library main function.
|
||||||
|
|
||||||
Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2009, 2010 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
@@ -1,6 +1,6 @@
|
|||||||
/* Timing variables for measuring compiler performance.
|
/* Timing variables for measuring compiler performance.
|
||||||
|
|
||||||
Copyright (C) 2000, 2002, 2004, 2006, 2009-2011 Free Software
|
Copyright (C) 2000, 2002, 2004, 2006, 2009, 2010 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Alex Samuel <samuel@codesourcery.com>
|
Contributed by Alex Samuel <samuel@codesourcery.com>
|
||||||
|
|||||||
+1
-5
@@ -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-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Akim Demaille <akim@freefriends.org>.
|
Contributed by Akim Demaille <akim@freefriends.org>.
|
||||||
|
|
||||||
@@ -43,10 +43,6 @@ DEFTIMEVAR (TV_REDUCE , "reducing the grammar")
|
|||||||
DEFTIMEVAR (TV_SETS , "computing the sets")
|
DEFTIMEVAR (TV_SETS , "computing the sets")
|
||||||
DEFTIMEVAR (TV_LR0 , "LR(0)")
|
DEFTIMEVAR (TV_LR0 , "LR(0)")
|
||||||
DEFTIMEVAR (TV_LALR , "LALR(1)")
|
DEFTIMEVAR (TV_LALR , "LALR(1)")
|
||||||
DEFTIMEVAR (TV_IELR_PHASE1 , "IELR(1) Phase 1")
|
|
||||||
DEFTIMEVAR (TV_IELR_PHASE2 , "IELR(1) Phase 2")
|
|
||||||
DEFTIMEVAR (TV_IELR_PHASE3 , "IELR(1) Phase 3")
|
|
||||||
DEFTIMEVAR (TV_IELR_PHASE4 , "IELR(1) Phase 4")
|
|
||||||
DEFTIMEVAR (TV_CONFLICTS , "conflicts")
|
DEFTIMEVAR (TV_CONFLICTS , "conflicts")
|
||||||
|
|
||||||
/* Time spent outputing results. */
|
/* Time spent outputing results. */
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
/* Timing variables for measuring compiler performance.
|
/* Timing variables for measuring compiler performance.
|
||||||
|
|
||||||
Copyright (C) 2000, 2002, 2004, 2009-2011 Free Software Foundation,
|
Copyright (C) 2000, 2002, 2004, 2009, 2010 Free Software
|
||||||
Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Alex Samuel <samuel@codesourcery.com>
|
Contributed by Alex Samuel <samuel@codesourcery.com>
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
/* Variable array bitsets.
|
/* Variable array bitsets.
|
||||||
|
|
||||||
Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009, 2010 Free
|
||||||
|
Software Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
/* Functions to support vbitsets.
|
/* Functions to support vbitsets.
|
||||||
|
|
||||||
Copyright (C) 2002, 2004, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2004, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz).
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
/* Yacc library error-printing function.
|
/* Yacc library error-printing function.
|
||||||
|
|
||||||
Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|||||||
+112
@@ -0,0 +1,112 @@
|
|||||||
|
00gnulib.m4
|
||||||
|
absolute-header.m4
|
||||||
|
alloca.m4
|
||||||
|
argmatch.m4
|
||||||
|
asm-underscore.m4
|
||||||
|
assert.m4
|
||||||
|
cloexec.m4
|
||||||
|
config-h.m4
|
||||||
|
dirname.m4
|
||||||
|
dos.m4
|
||||||
|
double-slash-root.m4
|
||||||
|
dup2.m4
|
||||||
|
environ.m4
|
||||||
|
errno_h.m4
|
||||||
|
error.m4
|
||||||
|
exitfail.m4
|
||||||
|
extensions.m4
|
||||||
|
fatal-signal.m4
|
||||||
|
fcntl-o.m4
|
||||||
|
fcntl.m4
|
||||||
|
fcntl_h.m4
|
||||||
|
fopen.m4
|
||||||
|
getdtablesize.m4
|
||||||
|
getopt.m4
|
||||||
|
getpagesize.m4
|
||||||
|
gettext.m4
|
||||||
|
gnulib-cache.m4
|
||||||
|
gnulib-common.m4
|
||||||
|
gnulib-comp.m4
|
||||||
|
gnulib-tool.m4
|
||||||
|
hash.m4
|
||||||
|
iconv.m4
|
||||||
|
include_next.m4
|
||||||
|
inline.m4
|
||||||
|
intlmacosx.m4
|
||||||
|
inttypes-h.m4
|
||||||
|
inttypes-pri.m4
|
||||||
|
inttypes.m4
|
||||||
|
javacomp.m4
|
||||||
|
javaexec.m4
|
||||||
|
lib-ld.m4
|
||||||
|
lib-link.m4
|
||||||
|
lib-prefix.m4
|
||||||
|
libunistring-base.m4
|
||||||
|
localcharset.m4
|
||||||
|
locale-fr.m4
|
||||||
|
locale-ja.m4
|
||||||
|
locale-zh.m4
|
||||||
|
longlong.m4
|
||||||
|
malloc.m4
|
||||||
|
mbrtowc.m4
|
||||||
|
mbsinit.m4
|
||||||
|
mbstate_t.m4
|
||||||
|
mbswidth.m4
|
||||||
|
memchr.m4
|
||||||
|
mmap-anon.m4
|
||||||
|
mode_t.m4
|
||||||
|
multiarch.m4
|
||||||
|
nls.m4
|
||||||
|
open.m4
|
||||||
|
pipe.m4
|
||||||
|
pipe2.m4
|
||||||
|
po.m4
|
||||||
|
posix_spawn.m4
|
||||||
|
progtest.m4
|
||||||
|
quote.m4
|
||||||
|
quotearg.m4
|
||||||
|
rawmemchr.m4
|
||||||
|
sched_h.m4
|
||||||
|
setenv.m4
|
||||||
|
sig_atomic_t.m4
|
||||||
|
sigaction.m4
|
||||||
|
signal_h.m4
|
||||||
|
signalblocking.m4
|
||||||
|
spawn_h.m4
|
||||||
|
stat.m4
|
||||||
|
stdbool.m4
|
||||||
|
stddef_h.m4
|
||||||
|
stdint.m4
|
||||||
|
stdint_h.m4
|
||||||
|
stdio-safer.m4
|
||||||
|
stdio_h.m4
|
||||||
|
stdlib_h.m4
|
||||||
|
stpcpy.m4
|
||||||
|
strchrnul.m4
|
||||||
|
strerror.m4
|
||||||
|
string_h.m4
|
||||||
|
strndup.m4
|
||||||
|
strnlen.m4
|
||||||
|
strtol.m4
|
||||||
|
strtoul.m4
|
||||||
|
strverscmp.m4
|
||||||
|
sys_stat_h.m4
|
||||||
|
sys_wait_h.m4
|
||||||
|
threadlib.m4
|
||||||
|
time_h.m4
|
||||||
|
unistd-safer.m4
|
||||||
|
unistd_h.m4
|
||||||
|
unlocked-io.m4
|
||||||
|
wait-process.m4
|
||||||
|
warn-on-use.m4
|
||||||
|
warning.m4
|
||||||
|
warnings.m4
|
||||||
|
wchar.m4
|
||||||
|
wchar_h.m4
|
||||||
|
wchar_t.m4
|
||||||
|
wctype.m4
|
||||||
|
wctype_h.m4
|
||||||
|
wcwidth.m4
|
||||||
|
wint_t.m4
|
||||||
|
xalloc.m4
|
||||||
|
xstrndup.m4
|
||||||
+7
-54
@@ -1,15 +1,11 @@
|
|||||||
|
|
||||||
/00gnulib.m4
|
/00gnulib.m4
|
||||||
|
/absolute-header.m4
|
||||||
/alloca.m4
|
/alloca.m4
|
||||||
/argmatch.m4
|
/argmatch.m4
|
||||||
/asm-underscore.m4
|
/asm-underscore.m4
|
||||||
/assert.m4
|
/assert.m4
|
||||||
/calloc.m4
|
|
||||||
/cloexec.m4
|
/cloexec.m4
|
||||||
/close.m4
|
|
||||||
/codeset.m4
|
|
||||||
/config-h.m4
|
/config-h.m4
|
||||||
/configmake.m4
|
|
||||||
/dirname.m4
|
/dirname.m4
|
||||||
/dos.m4
|
/dos.m4
|
||||||
/double-slash-root.m4
|
/double-slash-root.m4
|
||||||
@@ -17,25 +13,17 @@
|
|||||||
/environ.m4
|
/environ.m4
|
||||||
/errno_h.m4
|
/errno_h.m4
|
||||||
/error.m4
|
/error.m4
|
||||||
/exponentd.m4
|
/exitfail.m4
|
||||||
/exponentf.m4
|
|
||||||
/exponentl.m4
|
|
||||||
/extensions.m4
|
/extensions.m4
|
||||||
/fatal-signal.m4
|
/fatal-signal.m4
|
||||||
/fclose.m4
|
|
||||||
/fcntl-o.m4
|
/fcntl-o.m4
|
||||||
/fcntl.m4
|
/fcntl.m4
|
||||||
/fcntl_h.m4
|
/fcntl_h.m4
|
||||||
/float_h.m4
|
|
||||||
/fopen.m4
|
/fopen.m4
|
||||||
/fpieee.m4
|
|
||||||
/fprintf-posix.m4
|
|
||||||
/frexp.m4
|
|
||||||
/frexpl.m4
|
|
||||||
/getdtablesize.m4
|
/getdtablesize.m4
|
||||||
/getopt.m4
|
/getopt.m4
|
||||||
|
/getpagesize.m4
|
||||||
/gettext.m4
|
/gettext.m4
|
||||||
/glibc21.m4
|
|
||||||
/gnulib-cache.m4
|
/gnulib-cache.m4
|
||||||
/gnulib-common.m4
|
/gnulib-common.m4
|
||||||
/gnulib-comp.m4
|
/gnulib-comp.m4
|
||||||
@@ -45,19 +33,11 @@
|
|||||||
/include_next.m4
|
/include_next.m4
|
||||||
/inline.m4
|
/inline.m4
|
||||||
/intlmacosx.m4
|
/intlmacosx.m4
|
||||||
/intmax_t.m4
|
/inttypes-h.m4
|
||||||
/inttypes-pri.m4
|
/inttypes-pri.m4
|
||||||
/inttypes.m4
|
/inttypes.m4
|
||||||
/inttypes_h.m4
|
|
||||||
/ioctl.m4
|
|
||||||
/isnan.m4
|
|
||||||
/isnand.m4
|
|
||||||
/isnanf.m4
|
|
||||||
/isnanl.m4
|
|
||||||
/iswblank.m4
|
|
||||||
/javacomp.m4
|
/javacomp.m4
|
||||||
/javaexec.m4
|
/javaexec.m4
|
||||||
/ldexpl.m4
|
|
||||||
/lib-ld.m4
|
/lib-ld.m4
|
||||||
/lib-link.m4
|
/lib-link.m4
|
||||||
/lib-prefix.m4
|
/lib-prefix.m4
|
||||||
@@ -68,9 +48,6 @@
|
|||||||
/locale-zh.m4
|
/locale-zh.m4
|
||||||
/longlong.m4
|
/longlong.m4
|
||||||
/malloc.m4
|
/malloc.m4
|
||||||
/math_h.m4
|
|
||||||
/mbchar.m4
|
|
||||||
/mbiter.m4
|
|
||||||
/mbrtowc.m4
|
/mbrtowc.m4
|
||||||
/mbsinit.m4
|
/mbsinit.m4
|
||||||
/mbstate_t.m4
|
/mbstate_t.m4
|
||||||
@@ -80,38 +57,22 @@
|
|||||||
/mode_t.m4
|
/mode_t.m4
|
||||||
/multiarch.m4
|
/multiarch.m4
|
||||||
/nls.m4
|
/nls.m4
|
||||||
/nocrash.m4
|
|
||||||
/open.m4
|
/open.m4
|
||||||
/perror.m4
|
|
||||||
/pipe.m4
|
/pipe.m4
|
||||||
/pipe2.m4
|
/pipe2.m4
|
||||||
/po.m4
|
/po.m4
|
||||||
/posix_spawn.m4
|
/posix_spawn.m4
|
||||||
/printf-frexp.m4
|
|
||||||
/printf-frexpl.m4
|
|
||||||
/printf-posix-rpl.m4
|
|
||||||
/printf-posix.m4
|
|
||||||
/printf.m4
|
|
||||||
/progtest.m4
|
/progtest.m4
|
||||||
/quote.m4
|
/quote.m4
|
||||||
/quotearg.m4
|
/quotearg.m4
|
||||||
/rawmemchr.m4
|
/rawmemchr.m4
|
||||||
/realloc.m4
|
|
||||||
/sched_h.m4
|
/sched_h.m4
|
||||||
/setenv.m4
|
/setenv.m4
|
||||||
/sig_atomic_t.m4
|
/sig_atomic_t.m4
|
||||||
/sigaction.m4
|
/sigaction.m4
|
||||||
/signal_h.m4
|
/signal_h.m4
|
||||||
/signalblocking.m4
|
/signalblocking.m4
|
||||||
/signbit.m4
|
|
||||||
/size_max.m4
|
|
||||||
/snprintf-posix.m4
|
|
||||||
/snprintf.m4
|
|
||||||
/socklen.m4
|
|
||||||
/sockpfaf.m4
|
|
||||||
/spawn-pipe.m4
|
|
||||||
/spawn_h.m4
|
/spawn_h.m4
|
||||||
/sprintf-posix.m4
|
|
||||||
/stat.m4
|
/stat.m4
|
||||||
/stdbool.m4
|
/stdbool.m4
|
||||||
/stddef_h.m4
|
/stddef_h.m4
|
||||||
@@ -122,7 +83,6 @@
|
|||||||
/stdlib_h.m4
|
/stdlib_h.m4
|
||||||
/stpcpy.m4
|
/stpcpy.m4
|
||||||
/strchrnul.m4
|
/strchrnul.m4
|
||||||
/strdup.m4
|
|
||||||
/strerror.m4
|
/strerror.m4
|
||||||
/string_h.m4
|
/string_h.m4
|
||||||
/strndup.m4
|
/strndup.m4
|
||||||
@@ -130,8 +90,6 @@
|
|||||||
/strtol.m4
|
/strtol.m4
|
||||||
/strtoul.m4
|
/strtoul.m4
|
||||||
/strverscmp.m4
|
/strverscmp.m4
|
||||||
/sys_ioctl_h.m4
|
|
||||||
/sys_socket_h.m4
|
|
||||||
/sys_stat_h.m4
|
/sys_stat_h.m4
|
||||||
/sys_wait_h.m4
|
/sys_wait_h.m4
|
||||||
/threadlib.m4
|
/threadlib.m4
|
||||||
@@ -139,21 +97,16 @@
|
|||||||
/unistd-safer.m4
|
/unistd-safer.m4
|
||||||
/unistd_h.m4
|
/unistd_h.m4
|
||||||
/unlocked-io.m4
|
/unlocked-io.m4
|
||||||
/vasnprintf.m4
|
|
||||||
/vfprintf-posix.m4
|
|
||||||
/vsnprintf-posix.m4
|
|
||||||
/vsnprintf.m4
|
|
||||||
/vsprintf-posix.m4
|
|
||||||
/wait-process.m4
|
/wait-process.m4
|
||||||
/waitpid.m4
|
|
||||||
/warn-on-use.m4
|
/warn-on-use.m4
|
||||||
|
/warning.m4
|
||||||
/warnings.m4
|
/warnings.m4
|
||||||
|
/wchar.m4
|
||||||
/wchar_h.m4
|
/wchar_h.m4
|
||||||
/wchar_t.m4
|
/wchar_t.m4
|
||||||
|
/wctype.m4
|
||||||
/wctype_h.m4
|
/wctype_h.m4
|
||||||
/wcwidth.m4
|
/wcwidth.m4
|
||||||
/wint_t.m4
|
/wint_t.m4
|
||||||
/xalloc.m4
|
/xalloc.m4
|
||||||
/xsize.m4
|
|
||||||
/xstrndup.m4
|
/xstrndup.m4
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
# bison-i18n.m4 serial 2
|
# bison-i18n.m4 serial 2
|
||||||
|
|
||||||
dnl Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
|
dnl Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
dnl This file is free software; the Free Software Foundation
|
dnl This file is free software; the Free Software Foundation
|
||||||
dnl gives unlimited permission to copy and/or distribute it,
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user