]> git.saurik.com Git - bison.git/log
bison.git
12 years agoc++: fix a comment
Akim Demaille [Thu, 2 Aug 2012 12:19:40 +0000 (14:19 +0200)] 
c++: fix a comment

* data/c++.m4: Be sure to attach a ';' to its declaration, otherwise
it appears in the preceding comment.

12 years agoskeletons: simplify after knr removal
Akim Demaille [Thu, 2 Aug 2012 12:11:07 +0000 (14:11 +0200)] 
skeletons: simplify after knr removal

* data/c.m4 (b4_yydestruct_generate, b4_yy_symbol_print_generate):
They no longer need an argument, it has a single possible value.
* data/glr.c, data/yacc.c: Adjust.

12 years agoskeletons: renamings after knr removal
Akim Demaille [Thu, 2 Aug 2012 12:11:04 +0000 (14:11 +0200)] 
skeletons: renamings after knr removal

* data/c.m4 (b4_c_comment_, b4_c_args, b4_c_function_def)
(b4_c_function_decl, b4_c_formals, b4_c_call, b4_c_arg): Rename as...
(b4_comment, b4_args, b4_function_define, b4_function_declare,
b4_formals, b4_function_call, b4_arg): these.
* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c: Adjust.

12 years agoskeletons: b4_args -> b4_join to prepare forthcoming changes
Akim Demaille [Thu, 2 Aug 2012 12:24:15 +0000 (14:24 +0200)] 
skeletons: b4_args -> b4_join to prepare forthcoming changes

* data/bison.m4 (b4_args, _b4_args): Rename as...
(b4_join, _b4_join): these.
* data/c++.m4, data/lalr1.cc, data/variant.hh: Adjust.

12 years agoregen
Akim Demaille [Thu, 2 Aug 2012 11:55:39 +0000 (13:55 +0200)] 
regen

12 years agoYYPARSE_PARAM: drop support
Akim Demaille [Thu, 2 Aug 2012 09:59:12 +0000 (11:59 +0200)] 
YYPARSE_PARAM: drop support

* data/yacc.c: No longer support it.
* doc/bison.texi, tests/headers.at: Adjust.
* NEWS: Document.

12 years agoskeletons: remove K&R C support
Akim Demaille [Thu, 2 Aug 2012 06:49:21 +0000 (08:49 +0200)] 
skeletons: remove K&R C support

* data/c.m4 (b4_c_modern, b4_c_knr_formal_names, b4_c_knr_formal_decls)
(b4_c_knr_formal_decl, b4_c_formal_names, b4_c_formal_decls)
(b4_c_formal_decl): Remove.
(b4_c_ansi_formal_names, b4_c_ansi_formal_decls, b4_c_ansi_formal_decl):
Rename as...
(b4_c_formal_names, b4_c_formal_decls, b4_c_formal_decl):
these.
* data/glr.c, data/glr.cc, data/yacc.c: Adjust.

12 years agotodo: more items
Akim Demaille [Tue, 31 Jul 2012 11:19:45 +0000 (13:19 +0200)] 
todo: more items

* TODO: $ in the epilogue, and obstack_copy.

12 years agoMerge branch 'maint'
Akim Demaille [Tue, 31 Jul 2012 09:50:18 +0000 (11:50 +0200)] 
Merge branch 'maint'

* maint:
  use obstack_printf
  scanner: restore a missing start condition
  gnulib: update
  maint: post-release administrivia
  version 2.6.1
  gnulib: update
  maint: fix some syntax-check issues
  tests: do not depend on __cplusplus to decide for C++ or C output

Conflicts:
NEWS
bootstrap.conf
cfg.mk
lib/.gitignore

12 years agotests: comment changes
Akim Demaille [Tue, 31 Jul 2012 09:14:23 +0000 (11:14 +0200)] 
tests: comment changes

* tests/actions.at, tests/input.at: here.

12 years agotests: really check the set of generated files
Akim Demaille [Mon, 30 Jul 2012 15:24:14 +0000 (17:24 +0200)] 
tests: really check the set of generated files

* tests/output.at (AT_CHECK_OUTPUT): It used to check that the
expected files are indeed generated, but it did not check that
there are no additional ones.
Do that, and adjust expectations (in particular alphabetical order).

12 years agolalr1.cc: do not create stack.hh without %defines
Akim Demaille [Mon, 30 Jul 2012 14:51:29 +0000 (16:51 +0200)] 
lalr1.cc: do not create stack.hh without %defines

* data/stack.hh (b4_stack_define): New.
* data/lalr1.cc: Use it when %defines is not passed.
* tests/output.at: Adjust expected output.

12 years agolalr1.cc: location.hh and position.hh are not generated without %defines
Akim Demaille [Mon, 30 Jul 2012 14:37:02 +0000 (16:37 +0200)] 
lalr1.cc: location.hh and position.hh are not generated without %defines

* data/location.cc (b4_position_define, b4_location_define): New.
(location.hh, position.hh): Generate only if %defines.
* data/lalr1.cc: therefore, define these classes when locations are
needed, but headers are not generated.
* tests/output.at: Check that these files are not generated.
* NEWS: Document.

12 years agolalr1.cc: no longer require %defines.
Akim Demaille [Mon, 30 Jul 2012 13:49:28 +0000 (15:49 +0200)] 
lalr1.cc: no longer require %defines.

* data/lalr1.cc: Generate the parser header only when %defines is
passed.
* tests/calc.at: Check it.

12 years agoskeletons: style changes
Akim Demaille [Mon, 30 Jul 2012 13:32:29 +0000 (15:32 +0200)] 
skeletons: style changes

* data/glr.c, data/lalr1.cc: Use more consistent comments,
and YY_NULL declaration.

12 years agoglr.cc, lalr1.cc: define b4_shared_declarations
Akim Demaille [Mon, 30 Jul 2012 13:30:31 +0000 (15:30 +0200)] 
glr.cc, lalr1.cc: define b4_shared_declarations

* data/glr.cc, data/lalr1.cc: here.
The name is no longer right, but at least it is consistent with
the other skeletons.

12 years agoglr.cc: no longer require location support
Akim Demaille [Mon, 30 Jul 2012 12:40:18 +0000 (14:40 +0200)] 
glr.cc: no longer require location support

* data/glr.cc: Use b4_locations_if where appropriate.
* data/lalr1.cc: M4 quotation changes to highlight code duplication
with glr.cc.
* tests/calc.at: Check glr.cc with and without %location.
While at it, fuse multiple %parse-params into one.
* tests/actions.at: Simplify.
* NEWS: Doc this.
Some other wording changes.

12 years agouse obstack_printf
Akim Demaille [Mon, 30 Jul 2012 16:05:10 +0000 (18:05 +0200)] 
use obstack_printf

This is not just nicer, it is also much safer, since we were
using sprintf...

* bootstrap.conf: Require it.
* src/system.h (obstack_fgrow1, obstack_fgrow2, obstack_fgrow3)
(obstack_fgrow4): Remove.
Adjust dependencies.

12 years agoscanner: restore a missing start condition
Akim Demaille [Mon, 30 Jul 2012 12:54:27 +0000 (14:54 +0200)] 
scanner: restore a missing start condition

$ flex src/scan-skel.l
src/scan-skel.l:145: multiple <<EOF>> rules for start condition SC_AT_DIRECTIVE_ARGS
src/scan-skel.l:145: multiple <<EOF>> rules for start condition SC_AT_DIRECTIVE_SKIP_WS
This is warning, and it seems there are no means to make it an error.

* src/scan-skel.l: Restore the start-condition INITIAL for an <<EOF>>
clause.

12 years agognulib: update
Akim Demaille [Mon, 30 Jul 2012 12:53:58 +0000 (14:53 +0200)] 
gnulib: update

12 years agomaint: post-release administrivia
Akim Demaille [Mon, 30 Jul 2012 09:47:29 +0000 (11:47 +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.1 v2.6.1
Akim Demaille [Mon, 30 Jul 2012 09:18:23 +0000 (11:18 +0200)] 
version 2.6.1

* NEWS: Record release date.

12 years agognulib: update
Akim Demaille [Mon, 30 Jul 2012 09:10:36 +0000 (11:10 +0200)] 
gnulib: update

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.