]> git.saurik.com Git - bison.git/log
bison.git
12 years agomaint: fix some syntax-check issues
Akim Demaille [Fri, 27 Jul 2012 15:00:28 +0000 (17:00 +0200)] 
maint: fix some syntax-check issues

* cfg.mk: Nuke the following warnings which are confused by our
text reports (that state that the error token is number 256).
  prohibit_magic_number_exit
  ../../doc/bison.texi:8170:error (256)
  ../../tests/conflicts.at:570:error (256)
  ../../tests/conflicts.at:673:error (256)
  ../../tests/conflicts.at:811:error (256)
  ../../tests/conflicts.at:1154:error (256)
  ../../tests/regression.at:281:error (256)
  ../../tests/regression.at:582:error (256)
  maint.mk: use EXIT_* values rather than magic number

12 years agoregen
Akim Demaille [Fri, 27 Jul 2012 14:46:15 +0000 (16:46 +0200)] 
regen

12 years agotests: do not depend on __cplusplus to decide for C++ or C output
Akim Demaille [Fri, 27 Jul 2012 14:36:07 +0000 (16:36 +0200)] 
tests: do not depend on __cplusplus to decide for C++ or C output

Since we do support compiling C code with a C++ compiler.

* tests/actions.at (Qualified $$ in actions): Use AT_SKEL_CC_IF.

12 years agoMerge remote-tracking branch 'origin/maint'
Akim Demaille [Fri, 27 Jul 2012 14:22:45 +0000 (16:22 +0200)] 
Merge remote-tracking branch 'origin/maint'

* origin/maint: (29 commits)
  regen
  synclines: remove spurious empty line
  also support $<foo>$ in the %initial-action
  skeletons: b4_dollar_pushdef and popdef to simpify complex definitions
  regen
  printer/destructor: translate only once
  factor the handling of m4 escaping
  news: schedule the removal of the ";" hack
  style changes in the scanners
  regen
  support $<tag>$ in printers and destructors
  scan-code: factor the handling of the type in $<TYPE>$
  muscles: fix another occurrence of unescaped type name
  glr.cc: fix the handling of yydebug
  gnulib: update
  formatting changes
  tests: fix an assertion
  tests: adjust to GCC 4.8, which displays caret errors
  be sure to properly escape type names
  obstack_quote: escape and quote for M4
  muscles: shuffle responsabilities
  muscles: make private functions static
  muscles: rename private functions/macros
  obstack_escape: escape M4 characters
  remove dead macro
  maint: style changes
  doc: avoid problems with case insensitive file systems
  configure: fix botched quoting
  news: fix typo.

Conflicts:
NEWS
data/c.m4
data/glr.cc
data/lalr1.cc
examples/rpcalc/local.mk
src/muscle-tab.h
src/output.c
src/parse-gram.c
src/parse-gram.h
src/parse-gram.y
src/scan-code.l
src/symlist.c
src/symlist.h
src/symtab.h
tests/calc.at

12 years agoregen
Akim Demaille [Fri, 27 Jul 2012 12:52:55 +0000 (14:52 +0200)] 
regen

12 years agosynclines: remove spurious empty line
Akim Demaille [Fri, 27 Jul 2012 12:52:23 +0000 (14:52 +0200)] 
synclines: remove spurious empty line

* data/bison.m4 (b4_syncline): Do not start with an empty line.

12 years agoalso support $<foo>$ in the %initial-action
Akim Demaille [Fri, 27 Jul 2012 12:20:00 +0000 (14:20 +0200)] 
also support $<foo>$ in the %initial-action

scan-code.l is already passing argument to b4_dollar_dollar for the
initial acton, but its definition (of b4_dollar_dollar) does not use
this argument.

Generalize this definition, and use it for the %initial-action too.

* data/c.m4 (b4_dollar_dollar_, b4_dollar_pushdef, b4_dollar_popdef):
Instead of expecting a pointer, require a value, and use ".".
Since they are now generic enough, move to...
* data/c-like.m4: this new file.
* data/c.m4, data/java.m4: Load it.
* data/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c: Use
b4_dollar_pushdef for the %initial-action.
* tests/actions.at: Check that.
* data/Makefile.am: Adjust.
* NEWS, doc/bison.texi: Document.

12 years agoskeletons: b4_dollar_pushdef and popdef to simpify complex definitions
Akim Demaille [Fri, 27 Jul 2012 11:47:24 +0000 (13:47 +0200)] 
skeletons: b4_dollar_pushdef and popdef to simpify complex definitions

M4 is really making it uselessly hard to define macros that define
macros.
* data/c.m4 (b4_dollar_pushdef, b4_dollar_popdef): New.
Use it.

12 years agoregen
Akim Demaille [Fri, 27 Jul 2012 10:53:46 +0000 (12:53 +0200)] 
regen

12 years agoprinter/destructor: translate only once
Akim Demaille [Fri, 27 Jul 2012 10:47:02 +0000 (12:47 +0200)] 
printer/destructor: translate only once

Currently "%printer {...} a b c d e f" translates the {...} six times.
Not only is this bad for time and space, it also issues six times the
same warnings.

* src/symlist.h, src/symlist.c (symbol_list_destructor_set)
(symbol_list_printer_set): Take the action as code_props instead of
const char *.
* src/parse-gram.y: Translate these actions here.
* src/scan-code.h: Comment change.
* tests/input.at: Check that warnings are issued only once.

12 years agofactor the handling of m4 escaping
Akim Demaille [Fri, 27 Jul 2012 09:22:22 +0000 (11:22 +0200)] 
factor the handling of m4 escaping

The conversion from @ to @@ and so forth is coded is too many
different places.  Factor, a bit.

* src/scan-code.l: Instead of duplicating the logic of obstack_escape,
use it.
It sure is less efficient, but the cost is negligible.
This allows to factor rules that are alike.
And to factor some start-condition clauses.
* tests/input.at (Stray $ or @): New.
* NEWS: Document it.

12 years agonews: schedule the removal of the ";" hack
Akim Demaille [Fri, 27 Jul 2012 10:19:01 +0000 (12:19 +0200)] 
news: schedule the removal of the ";" hack

scan-code.l is significantly more complex because of this.

* NEWS: Doc it.

12 years agostyle changes in the scanners
Akim Demaille [Fri, 27 Jul 2012 09:11:19 +0000 (11:11 +0200)] 
style changes in the scanners

* src/scan-code.l, src/scan-skel.l: Use a more traditional indentation
style for start-conditions.
Prefer "continue" to a comment, for empty actions.
Strip useless {}.
Remove useless start-condition clauses.

12 years agoregen
Akim Demaille [Thu, 26 Jul 2012 15:19:04 +0000 (17:19 +0200)] 
regen

12 years agosupport $<tag>$ in printers and destructors
Akim Demaille [Thu, 26 Jul 2012 14:52:35 +0000 (16:52 +0200)] 
support $<tag>$ in printers and destructors

* src/scan-code.l (SC_SYMBOL_ACTION): Accept $<tag>$, not just $$.
* data/c.m4 (b4_dollar_dollar_): New.
(b4_symbol_actions): Let b4_dollar_dollar use b4_dollar_dollar_.
* NEWS, doc/bison.texi: Document it.
* tests/actions.at: Check this for C and C++.

12 years agoscan-code: factor the handling of the type in $<TYPE>$
Akim Demaille [Thu, 26 Jul 2012 10:06:28 +0000 (12:06 +0200)] 
scan-code: factor the handling of the type in $<TYPE>$

* src/scan-code.l (fetch_type_name): New.
(handle_action_dollar): Use it.
(gt_ptr): Remove, useless.

12 years agomuscles: fix another occurrence of unescaped type name
Akim Demaille [Thu, 26 Jul 2012 12:41:55 +0000 (14:41 +0200)] 
muscles: fix another occurrence of unescaped type name

* src/output.c (quoted_output): Split into...
(quoted_output, string_output): these.
Use the former when outputting a type_name.
* tests/input.at: Check this case.
* src/symtab.h: Comment changes.

12 years agoglr.cc: fix the handling of yydebug
Akim Demaille [Thu, 26 Jul 2012 14:44:45 +0000 (16:44 +0200)] 
glr.cc: fix the handling of yydebug

* data/glr.cc (yydebug_): Remove, unused.
(set_debug_level, debug_level): Work on yydebug instead.
* doc/bison.texi, NEWS: Document this.

12 years agognulib: update
Akim Demaille [Thu, 26 Jul 2012 11:28:58 +0000 (13:28 +0200)] 
gnulib: update

12 years agoformatting changes
Akim Demaille [Thu, 26 Jul 2012 12:41:20 +0000 (14:41 +0200)] 
formatting changes

* src/symtab.h: here.

12 years agotests: fix an assertion
Akim Demaille [Thu, 26 Jul 2012 14:07:26 +0000 (16:07 +0200)] 
tests: fix an assertion

* tests/local.at (AT_YYLEX_DEFINE): Be sure to check the array
against its length, not its size in bytes.

12 years agotests: adjust to GCC 4.8, which displays caret errors
Akim Demaille [Thu, 26 Jul 2012 13:20:50 +0000 (15:20 +0200)] 
tests: adjust to GCC 4.8, which displays caret errors

With GCC 4.8, the tests on synclines are skipped.  Transform

  input.y:1:2: error: #error "1"
   #error "1"
    ^

into

  input.y:1: #error "1"

* tests/synclines.at (AT_SYNCLINES_COMPILE): Do it, using Perl instead of
sed.

12 years agobe sure to properly escape type names
Akim Demaille [Thu, 26 Jul 2012 10:14:50 +0000 (12:14 +0200)] 
be sure to properly escape type names

* src/scan-code.l: Use obstack_quote when passing type_name to m4.
* tests/input.at (Code injection): New.
* NEWS: Document it.
Thanks to Paul Eggert for the wording.

12 years agoobstack_quote: escape and quote for M4
Akim Demaille [Thu, 26 Jul 2012 10:12:38 +0000 (12:12 +0200)] 
obstack_quote: escape and quote for M4

* src/system.h (obstack_quote): New.
* src/muscle-tab.c: Use it instead of obstack_escape where applicable.
* src/scan-code.l: Since obstack_quote supports NULL, leave type_name
as NULL instead of defaulting to "".

12 years agomuscles: shuffle responsabilities
Akim Demaille [Thu, 26 Jul 2012 09:49:42 +0000 (11:49 +0200)] 
muscles: shuffle responsabilities

* src/muscle-tab.c (muscle_boundary_grow): Be in charge of quotation,
instead of leaving this to the caller.

12 years agomuscles: make private functions static
Akim Demaille [Thu, 26 Jul 2012 09:40:52 +0000 (11:40 +0200)] 
muscles: make private functions static

* src/muscle-tab.h, src/muscle-tab.c (muscle_boundary_grow)
(muscle_location_grow): Now static.

12 years agomuscles: rename private functions/macros
Akim Demaille [Thu, 26 Jul 2012 09:23:55 +0000 (11:23 +0200)] 
muscles: rename private functions/macros

* src/muscle-tab.c (MUSCLE_COMMON_DECODE, muscle_string_decode)
(muscle_location_decode): Not related to muscles, rename as...
(COMMON_DECODE, string_decode, location_decode): these.

12 years agoobstack_escape: escape M4 characters
Akim Demaille [Thu, 26 Jul 2012 09:19:18 +0000 (11:19 +0200)] 
obstack_escape: escape M4 characters

* src/muscle-tab.h (MUSCLE_OBSTACK_SGROW): This is not related to
muscles, so move to, and rename as...
* src/system.h (obstack_escape): this.
Adjust dependencies.

12 years agoremove dead macro
Akim Demaille [Thu, 26 Jul 2012 10:16:54 +0000 (12:16 +0200)] 
remove dead macro

* src/system.h (DEFAULT_TMPDIR): Remove, unused.

12 years agomaint: style changes
Akim Demaille [Wed, 25 Jul 2012 15:57:57 +0000 (17:57 +0200)] 
maint: style changes

* src/scan-code.l: Remove useless braces.
Formatting changes.
Prefer NULL to 0.
* src/muscle-tab.c, src/system.h: Formatting changes.

12 years agodoc: avoid problems with case insensitive file systems
Akim Demaille [Tue, 24 Jul 2012 11:24:20 +0000 (13:24 +0200)] 
doc: avoid problems with case insensitive file systems

makeinfo --html generates index.html, and the node "Index" will result
in Index.html.  On case insensitive file systems, such as on Mac OS X
by default, this results in a single, invalid, file (Texinfo 4.13).
See http://lists.gnu.org/archive/html/bug-texinfo/2012-07/msg00032.html

* doc/bison.texi (Index): Rename as...
(Index of Terms): this.

12 years agoconfigure: fix botched quoting
Stefano Lattarini [Sat, 21 Jul 2012 15:24:23 +0000 (17:24 +0200)] 
configure: fix botched quoting

* configure.ac: In the AC_SUBST call on 'VALGRIND_PREBISON'.  Without
this change, when running ./configure, I see:

    ...
    checking for valgrind... valgrind
    ./configure: line 35221: -q: command not found
    checking for Java compiler... gcj -C -fsource=1.3 -ftarget=1.4
    ...

Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
12 years agoregen
Akim Demaille [Tue, 24 Jul 2012 06:55:26 +0000 (08:55 +0200)] 
regen

12 years agoyystype, yyltype: remove.
Akim Demaille [Tue, 24 Jul 2012 06:53:48 +0000 (08:53 +0200)] 
yystype, yyltype: remove.

* data/c.m4: here.
* NEWS: Doc it.

12 years agoregen
Akim Demaille [Sun, 22 Jul 2012 18:19:11 +0000 (20:19 +0200)] 
regen

12 years agoYYFAIL: remove.
Akim Demaille [Sun, 22 Jul 2012 18:17:54 +0000 (20:17 +0200)] 
YYFAIL: remove.

* data/lalr1.java, data/yacc.c, src/scan-code.l: Remove YYFAIL support.
* NEWS, TODO: Update.

12 years agotodo: update.
Akim Demaille [Sun, 22 Jul 2012 10:36:51 +0000 (12:36 +0200)] 
todo: update.

* TODO: obsolete items.

12 years agoregen.
Akim Demaille [Sun, 22 Jul 2012 18:09:19 +0000 (20:09 +0200)] 
regen.

12 years agospace changes.
Akim Demaille [Sun, 22 Jul 2012 18:08:29 +0000 (20:08 +0200)] 
space changes.

* data/bison.m4 (b4_symbol_action): Remove spurious eol in the output.

12 years agoparser: fix %printer usage.
Akim Demaille [Sun, 22 Jul 2012 16:48:56 +0000 (18:48 +0200)] 
parser: fix %printer usage.

* src/parse-gram.y: Instead of stderr, using yyo.

12 years agoparser: factor the handling of code_props
Akim Demaille [Sun, 22 Jul 2012 16:45:32 +0000 (18:45 +0200)] 
parser: factor the handling of code_props

* src/parse-gram.y: Now that %printer and %destructor are treated
equally, let...
(code_props_type): handle them.

12 years agoparser: factor handling of type tags
Akim Demaille [Sun, 22 Jul 2012 16:44:39 +0000 (18:44 +0200)] 
parser: factor handling of type tags

* src/parse-gram.y: Now that <*> and <> are processed like regular
tags, let...
(tag): handle them.

12 years agoregen.
Akim Demaille [Sun, 22 Jul 2012 16:33:11 +0000 (18:33 +0200)] 
regen.

12 years agosimplify the handling of <> and <*>'s code_props.
Akim Demaille [Sun, 22 Jul 2012 15:51:25 +0000 (17:51 +0200)] 
simplify the handling of <> and <*>'s code_props.

Currently they are treated in separated variables, contrary to other
<TYPE> code_props.  This duplicates code (and messages for translators)
uselessly, as demonstrated by the fact that thanks to this patch, now
useless <*> and <> code_props are reported like the others.

* src/parse-gram.y (generic_symlist_item): Treat "<*>" and "<>" as regular
type tags.
* src/symlist.h, src/symlist.c (symbol_list_default_tagged_new)
(symbol_list_default_tagless_new,SYMLIST_DEFAULT_TAGGED)
(SYMLIST_DEFAULT_TAGLESS): Remove.
* src/symtab.h, src/symtab.c (default_tagged_code_props)
(default_tagless_code_props, default_tagged_code_props_set)
(default_tagless_code_props_set): Remove.
(symbol_code_props_get): Default to <*> or <>'s code_props.

* tests/actions.at: Complete expected errors: there are new warnings.
* tests/input.at: Likewise.
(Useless printers or destructors): Extend.

12 years agoallow modification on retrieved code_props.
Akim Demaille [Sun, 22 Jul 2012 15:46:34 +0000 (17:46 +0200)] 
allow modification on retrieved code_props.

The logic to compute the %printer or %destructor to used (i.e., a
code_props) is implemented twice: one, of course, in
symbol_code_props_get, and another time in symbol_check_defined to
record the fact that a code_props is used (so that we can reported
unused ones).  Let the former use the latter.

I would probably use "mutable" in C++ and keep these guys const,
but this is C.  And casting away constness triggers warnings.

* src/scan-code.h, src/scan-code.l (code_props_none): Is not const.
* src/symtab.h, src/symtab.c (symbol_code_props_get): The symbol
is not const.
(symbol_check_defined): Use it.

12 years agomaint: regen.
Akim Demaille [Sun, 22 Jul 2012 14:54:30 +0000 (16:54 +0200)] 
maint: regen.

12 years agomaint: fix bison's own header guards.
Akim Demaille [Sun, 22 Jul 2012 15:11:39 +0000 (17:11 +0200)] 
maint: fix bison's own header guards.

Because I'm using a VPATH build with an absolute srcdir, I have
GRAM__USERS_AKIM_SRC_GNU_BISON_SRC_PARSE_GRAM_H.  Before, I was using
a relative srcdir, and had GRAM_______SRC_PARSE_GRAM_H (coming from
../../).  Let it be GRAM_SRC_PARSE_GRAM_H.

* tests/bison.in: Do not depend on the value of $top_srcdir for
Bison itself.
If we were to use relative paths from .c to .y, we would not have
this problem.

12 years agomaint: add missing const.
Akim Demaille [Sun, 22 Jul 2012 14:41:00 +0000 (16:41 +0200)] 
maint: add missing const.

* src/symtab.h, src/symtab.c (symbol_print): here.

12 years agostyle changes.
Akim Demaille [Sun, 22 Jul 2012 10:28:31 +0000 (12:28 +0200)] 
style changes.

* src/parse-gram.y, src/symtab.c: Space changes.
* src/symtab.h: Comment changes.

12 years agoautoconf: update.
Akim Demaille [Sun, 22 Jul 2012 09:53:31 +0000 (11:53 +0200)] 
autoconf: update.

* submodules/autoconf: here.
No significant changes for our use of m4sugar.m4.

12 years agooutput: no longer use b4_tokens.
Akim Demaille [Sun, 22 Jul 2012 07:11:42 +0000 (09:11 +0200)] 
output: no longer use b4_tokens.

* data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java, data/yacc.c:
Since the previous commit, b4_tokens_define and the like no longer need
b4_tokens.
* src/output.c (token_definitions_output): Remove.

12 years agooutput: use the token list to define the yytokentype
Akim Demaille [Sun, 22 Jul 2012 07:11:37 +0000 (09:11 +0200)] 
output: use the token list to define the yytokentype

There are currently two systems used to pass information about tokens to
m4: the original one, and another, which is used for instance for
printers and destructors, variants etc.  Move to using only the latter.

* data/bison.m4 (b4_symbol_map, b4_token_visible_if)
(b4_token_has_definition, b4_any_token_visible_if, b4_token_format): New.
* data/c++.m4, data/c.m4, data/glr.c, data/java.m4: Adjust to use them.

12 years agotests: fix VPATH issue
Akim Demaille [Fri, 20 Jul 2012 16:18:47 +0000 (18:18 +0200)] 
tests: fix VPATH issue

* examples/test: With an absolute VPATH build, "../" is incorrect.

12 years agonews: fix typo.
Akim Demaille [Fri, 20 Jul 2012 08:00:51 +0000 (10:00 +0200)] 
news: fix typo.

* NEWS: here.
Reported by Ben Pfaff.

12 years agoMerge remote-tracking branch 'origin/maint'
Akim Demaille [Thu, 19 Jul 2012 15:32:01 +0000 (17:32 +0200)] 
Merge remote-tracking branch 'origin/maint'

* origin/maint:
  maint: update gnu-web-doc-update.
  maint: post-release administrivia
  version 2.6
  maint: prepare for release 2.6
  maint: post-release administrivia
  version 2.5.91
  maint: prepare NEWS.
  maint: fix spaces.
  tests: adjust to case where the C compiler is actually a C++ compiler
  tests: fix dependencies
  doc: fix Texinfo command
  maint: Valgrind on OS X.
  tests: be sure that backups are safe.
  maint: dead comment.
  tests: refactor for legibility.
  tests: refactor the bison invocations.
  maint: fix syntax-check ignore patterns.
  gnulib: update
  gnulib: update.
  gnulib: update

Conflicts:
build-aux/Makefile.am
cfg.mk
tests/Makefile.am

12 years agomaint: update gnu-web-doc-update.
Akim Demaille [Thu, 19 Jul 2012 14:24:33 +0000 (16:24 +0200)] 
maint: update gnu-web-doc-update.

* gnulib: here.

12 years agomaint: post-release administrivia
Akim Demaille [Thu, 19 Jul 2012 13:38:29 +0000 (15:38 +0200)] 
maint: post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

12 years agoversion 2.6 v2.6
Akim Demaille [Thu, 19 Jul 2012 13:24:23 +0000 (15:24 +0200)] 
version 2.6

* NEWS: Record release date.

12 years agomaint: prepare for release 2.6
Akim Demaille [Thu, 19 Jul 2012 13:20:20 +0000 (15:20 +0200)] 
maint: prepare for release 2.6

* NEWS: here.

12 years agomaint: post-release administrivia
Akim Demaille [Wed, 18 Jul 2012 16:33:25 +0000 (18:33 +0200)] 
maint: post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

12 years agoversion 2.5.91
Akim Demaille [Wed, 18 Jul 2012 16:19:32 +0000 (18:19 +0200)] 
version 2.5.91

* NEWS: Record release date.

12 years agomaint: prepare NEWS.
Akim Demaille [Wed, 18 Jul 2012 16:19:12 +0000 (18:19 +0200)] 
maint: prepare NEWS.

12 years agomaint: fix spaces.
Akim Demaille [Wed, 18 Jul 2012 15:56:30 +0000 (17:56 +0200)] 
maint: fix spaces.

* build-aux/Makefile.am: here.

12 years agotests: adjust to case where the C compiler is actually a C++ compiler
Akim Demaille [Tue, 17 Jul 2012 13:20:11 +0000 (15:20 +0200)] 
tests: adjust to case where the C compiler is actually a C++ compiler

* tests/atlocal.in (CC_IS_CXX): New.
* tests/headers.at (Several parsers): Use it.

12 years agotests: fix dependencies
Akim Demaille [Tue, 17 Jul 2012 13:19:37 +0000 (15:19 +0200)] 
tests: fix dependencies

* tests/Makefile.am: we need atconfig and atlocal to be up to date
when calling testsuite.

12 years agodoc: fix Texinfo command
Akim Demaille [Tue, 17 Jul 2012 13:11:47 +0000 (15:11 +0200)] 
doc: fix Texinfo command

* doc/bison.texi: In parens, use @pxref.

12 years agomaint: Valgrind on OS X.
Akim Demaille [Tue, 17 Jul 2012 08:45:00 +0000 (10:45 +0200)] 
maint: Valgrind on OS X.

* configure.ac (VALGRIND_PREBISON): New.
* tests/Makefile.am (maintainer-check-valgrind): Use it.
* etc/darwin11.4.0.supp: New.
* configure.ac, etc/Makefile.am: Use it.
* configure.ac: Disable Valgrind on Mac OS X.
* README-hacking: Explain why.

12 years agotests: be sure that backups are safe.
Akim Demaille [Tue, 17 Jul 2012 12:25:26 +0000 (14:25 +0200)] 
tests: be sure that backups are safe.

* tests/local.at (at_save_special_files): here.

12 years agomaint: dead comment.
Akim Demaille [Tue, 17 Jul 2012 12:08:53 +0000 (14:08 +0200)] 
maint: dead comment.

* etc/README: here.

12 years agotests: refactor for legibility.
Akim Demaille [Tue, 17 Jul 2012 11:40:26 +0000 (13:40 +0200)] 
tests: refactor for legibility.

* tests/local.at (AT_BISON_CHECK_WARNINGS, AT_BISON_CHECK_WARNINGS_):
New.

12 years agotests: refactor the bison invocations.
Akim Demaille [Tue, 17 Jul 2012 10:45:29 +0000 (12:45 +0200)] 
tests: refactor the bison invocations.

* tests/local.at (m4_null_if, AT_BISON_CHECK_): New.

12 years agomaint: fix syntax-check ignore patterns.
Akim Demaille [Tue, 17 Jul 2012 08:35:58 +0000 (10:35 +0200)] 
maint: fix syntax-check ignore patterns.

* cfg.mk: here.

12 years agognulib: update
Akim Demaille [Tue, 17 Jul 2012 07:49:57 +0000 (09:49 +0200)] 
gnulib: update

12 years agognulib: update.
Akim Demaille [Mon, 16 Jul 2012 18:40:18 +0000 (20:40 +0200)] 
gnulib: update.

* gnulib: Update so that gitlog-to-changelog support --srcdir.
* Makefile.am: Use it.

12 years agognulib: update
Akim Demaille [Fri, 6 Jul 2012 13:03:27 +0000 (15:03 +0200)] 
gnulib: update

* bootstrap, build-aux/.gitignore, gnulib, m4/.gitignore: update.

12 years agomaint: minor fixes
Akim Demaille [Fri, 6 Jul 2012 09:15:24 +0000 (11:15 +0200)] 
maint: minor fixes

* NEWS: restore missing entry.
* cfg.mk: Adjust to *.texinfo -> *.texi.
* src/symtab.c: Spaces fixes.

12 years agotests: address g++-4.8 warnings.
Akim Demaille [Fri, 6 Jul 2012 09:07:32 +0000 (11:07 +0200)] 
tests: address g++-4.8 warnings.

list.yy: In function 'yy::parser::symbol_type yylex()':
list.yy:107:29: error: typedef 'token' locally defined but not used
  [-Werror=unused-local-typedefs]
   typedef yy::parser::token token;
                             ^

* tests/c++.at (AT_CHECK_VARIANTS): here.

12 years agoMerge remote-tracking branch 'origin/maint'
Akim Demaille [Fri, 6 Jul 2012 08:58:26 +0000 (10:58 +0200)] 
Merge remote-tracking branch 'origin/maint'

* origin/maint:
  maint: update release instructions
  maint: post-release administrivia
  version 2.5.90
  build: fix gen-ChangeLog call.
  gnulib: update.
  tests: fix SKIP_IF for Java.
  api.prefix: incompatible with %name-prefix.
  api.prefix: strengthen the tests and fix push-parsers.
  skeletons: style changes.
  NEWS: minor changes.
  api.prefix: improve the documentation for YYDEBUG.
  gnulib: update.

Conflicts:
NEWS
cfg.mk
data/bison.m4
doc/bison.texi
m4/.gitignore
tests/calc.at
tests/headers.at

12 years agomaint: update release instructions
Akim Demaille [Fri, 6 Jul 2012 08:14:49 +0000 (10:14 +0200)] 
maint: update release instructions

* README-hacking: here.

12 years agomaint: post-release administrivia
Akim Demaille [Thu, 5 Jul 2012 14:29:06 +0000 (16:29 +0200)] 
maint: post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

12 years agoversion 2.5.90
Akim Demaille [Thu, 5 Jul 2012 14:20:44 +0000 (16:20 +0200)] 
version 2.5.90

* NEWS: Record release date.

12 years agobuild: fix gen-ChangeLog call.
Akim Demaille [Thu, 5 Jul 2012 14:09:17 +0000 (16:09 +0200)] 
build: fix gen-ChangeLog call.

* Makefile.am: Be sure to catch errors, and fix option name

12 years agognulib: update.
Akim Demaille [Thu, 5 Jul 2012 13:24:34 +0000 (15:24 +0200)] 
gnulib: update.

* gnulib/build-aux/do-release-commit-and-tag: Fix.

12 years agotests: fix SKIP_IF for Java.
Akim Demaille [Thu, 5 Jul 2012 12:27:09 +0000 (14:27 +0200)] 
tests: fix SKIP_IF for Java.

* tests/local.at (AT_JAVA_COMPILE): here.

12 years agoapi.prefix: incompatible with %name-prefix.
Akim Demaille [Thu, 5 Jul 2012 10:33:42 +0000 (12:33 +0200)] 
api.prefix: incompatible with %name-prefix.

* data/bison.m4: Make it incompatible.
* tests/input.at: Check that it is.

12 years agoapi.prefix: strengthen the tests and fix push-parsers.
Akim Demaille [Thu, 5 Jul 2012 10:33:37 +0000 (12:33 +0200)] 
api.prefix: strengthen the tests and fix push-parsers.

* tests/calc.at: Check api.prefix in addition to %name-prefix.
* tests/headers.at: Check push parsers and pure interface.
* tests/local.at: Use YYLTYPE renamed.
* data/yacc.c (b4_declare_yyparse_push_): Handle api.prefix.
* doc/bison.texi: Style changes.

12 years agoskeletons: style changes.
Akim Demaille [Thu, 5 Jul 2012 09:11:38 +0000 (11:11 +0200)] 
skeletons: style changes.

* data/bison.m4: Define default values after having defined
the support macros.
Kill a dead comment.

12 years agoNEWS: minor changes.
Akim Demaille [Thu, 5 Jul 2012 08:30:47 +0000 (10:30 +0200)] 
NEWS: minor changes.

* NEWS: style changes.

12 years agoapi.prefix: improve the documentation for YYDEBUG.
Akim Demaille [Thu, 5 Jul 2012 08:30:09 +0000 (10:30 +0200)] 
api.prefix: improve the documentation for YYDEBUG.

* doc/bison.texi: Explain how api.prefix is applied to YYDEBUG.

12 years agognulib: update.
Akim Demaille [Thu, 5 Jul 2012 07:37:20 +0000 (09:37 +0200)] 
gnulib: update.

* bootstrap, gnulib: Update.
* cfg.mk (syntax-check): Don't check "error" usage in bison.texi.

12 years agoMerge remote-tracking branch 'origin/maint'
Akim Demaille [Wed, 4 Jul 2012 15:14:35 +0000 (17:14 +0200)] 
Merge remote-tracking branch 'origin/maint'

* origin/maint:
  tests: headers.at: strengthen.
  glr.cc: do not override C++ definitions by C macros.
  YYLLOC_DEFAULT: factor, and don't export it in headers.
  api.prefix: do not use #define to handle YYSTYPE_IS_TRIVIAL etc.
  tests: portability fixes.
  c++: fewer #includes in the headers.
  glr.cc: formatting changes.
  tests: more logs.
  api.prefix: also rename YYDEBUG.

Conflicts:
data/c.m4
data/glr.c
data/glr.cc
data/lalr1.cc
data/yacc.c

12 years agotests: headers.at: strengthen.
Akim Demaille [Wed, 4 Jul 2012 10:04:19 +0000 (12:04 +0200)] 
tests: headers.at: strengthen.

* tests/headers.at (Several headers): Be stricter when checking
the exported macros.

12 years agoglr.cc: do not override C++ definitions by C macros.
Akim Demaille [Wed, 4 Jul 2012 10:00:24 +0000 (12:00 +0200)] 
glr.cc: do not override C++ definitions by C macros.

* data/glr.c: here.
* data/glr.cc: Fix overquotation.
* tests/headers.at: Comment changes.

12 years agoYYLLOC_DEFAULT: factor, and don't export it in headers.
Akim Demaille [Wed, 4 Jul 2012 09:41:06 +0000 (11:41 +0200)] 
YYLLOC_DEFAULT: factor, and don't export it in headers.

* data/c++.m4, data/c.m4 (b4_yylloc_default_define): New.
* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c: Use it.
* data/glr.cc: Do not define YYLLOC_DEFAULT in the header file,
but in the implementation one.

12 years agoapi.prefix: do not use #define to handle YYSTYPE_IS_TRIVIAL etc.
Akim Demaille [Wed, 4 Jul 2012 09:04:52 +0000 (11:04 +0200)] 
api.prefix: do not use #define to handle YYSTYPE_IS_TRIVIAL etc.

The following mixture is insane:

  #define YYSTYPE_IS_TRIVIAL PREFIX_STYPE_IS_TRIVIAL
  #if (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)

since, of course YYSTYPE_IS_TRIVIAL is defined.  Instead we could
define YYSTYPE_IS_TRIVIAL as PREFIX_STYPE_IS_TRIVIAL only when the
later is defined, but let's avoid stacking CPP on top of M4: rather, use

  #if (defined PREFIX_STYPE_IS_TRIVIAL && PREFIX_STYPE_IS_TRIVIAL)

* data/glr.c, data/yacc.c: Use YYSTYPE_IS_TRIVIAL, YYSTYPE_IS_DECLARED,
YYLTYPE_IS_TRIVIAL and YYLTYPE_IS_DECLARED under their api.prefix-renamed
name.

12 years agotests: portability fixes.
Akim Demaille [Wed, 4 Jul 2012 10:04:07 +0000 (12:04 +0200)] 
tests: portability fixes.

Reported by Hydra.

* tests/headers.at (Several headers): Be sure to include config.h
in the files to compile.

12 years agoc++: fewer #includes in the headers.
Akim Demaille [Wed, 4 Jul 2012 07:57:40 +0000 (09:57 +0200)] 
c++: fewer #includes in the headers.

* data/lalr1.cc: Define YY_NULL in the *.cc file, it is not needed
in the header.
* data/location.cc: iosfwd suffices.

12 years agoglr.cc: formatting changes.
Akim Demaille [Mon, 2 Jul 2012 12:55:54 +0000 (14:55 +0200)] 
glr.cc: formatting changes.

* data/glr.cc: here.

12 years agotests: more logs.
Akim Demaille [Mon, 2 Jul 2012 10:11:51 +0000 (12:11 +0200)] 
tests: more logs.

* tests/headers.at (Several parsers): Here.

12 years agoapi.prefix: also rename YYDEBUG.
Akim Demaille [Mon, 2 Jul 2012 12:56:22 +0000 (14:56 +0200)] 
api.prefix: also rename YYDEBUG.

The testsuite in master has shown weird errors for the "Mulitple
Parsers" tests: the caller of p5.parse() received some apparently
random value, while tracing p5.parse() showed that the function was
consistently returning 0.

It happens when mixing several parser headers, some generated without
%debug, others with.  In particular the C++ parser was generated with
%debug, i.e., with:

  #ifndef YYDEBUG
  # define YYDEBUG 1
  #endif

and compiled separatedly.  Yet, its header was included after the one
of another parser, this time without %debug, i.e., with

  #ifndef YYDEBUG
  # define YYDEBUG 0
  #endif

in its header.  As a result, the parser was compiled with YYDEBUG set,
but its header was used without.  Since the layout of the objects are
then completely different, boom.

Therefore, do not change the value of YYDEBUG.  Rather, use it as a
default value for <API.PREFIX>DEBUG.

* data/c.m4 (b4_YYDEBUG_define): New.
(b4_declare_yydebug): Rename as...
(b4_yydebug_declare): this, for consistency.
* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c: Use it.
* NEWS: Document it.