Commit Graph

480 Commits

Author SHA1 Message Date
Akim Demaille
569125a6bf regen 2019-09-14 10:09:08 +02:00
Akim Demaille
a9499e6ea2 regen 2019-09-08 08:58:55 +02:00
Akim Demaille
44a56b20ac %fixed-output-files: detach from %yacc
The name fixed-output-files is pretty clear: generate y.tab.c, as Yacc
does.  So let's detach this from %yacc which does more: it requires
POSIX Yacc behavior.

This directive is obsolete since December 29th 2001
8c9a50bee1.  It does not show in the
doc.  I don't want to spend more time on improving its diagnostics, it
could be removed just as well as far as I'm concerned.

* src/scan-gram.l, src/parse-gram.y (%fixed-output-files): Detach from
%yacc.
2019-07-07 15:54:20 +02:00
Akim Demaille
5d3468e0d1 regen 2019-07-07 14:03:37 +02:00
Akim Demaille
886b503e4b NEWS: update for 3.4 2019-05-19 11:01:20 +02:00
Akim Demaille
66100b640f regen 2019-05-19 10:05:18 +02:00
Akim Demaille
013720f0e7 style: use consistently *_loc for locations
Some members are called foo_location, others are foo_loc.  Stick to
the latter.

* src/gram.h, src/location.h, src/location.c, src/output.c,
* src/parse-gram.y, src/reader.h, src/reader.c, src/reduce.c,
* src/scan-gram.l, src/symlist.h, src/symlist.c, src/symtab.h,
* src/symtab.c:
Use _loc consistently, not _location.
2019-05-03 16:28:28 +02:00
Akim Demaille
dc5ce5989f regen 2019-04-27 18:27:04 +02:00
Akim Demaille
0ee5ac5367 regen 2019-04-24 13:08:51 +02:00
Akim Demaille
1b70f687fa diagnostics: fix styling issues
Single point locations (equal boundaries) are troublesome, and we were
incorrectly ending the style in their case.  Which results in an abort
in libtextstyle.

There is also a confusion between columns as displayed on the
screen (which take into account multibyte characters and tabulations),
and the number of bytes.  Counting the screen-column
incrementally (character by character) is uneasy (because of multibyte
characters), and I don't want to maintain a buffer of the current line
when displaying the diagnostic.  So I believe the simplest solution is
to track the byte number in addition to the screen column.

* src/location.h, src/location.c (boundary): Add the byte-column.
Adjust dependencies.
* src/getargs.c, src/scan-gram.l: Adjust.
* tests/diagnostics.at: Check zero-width locations.
2019-04-23 18:29:10 +02:00
Akim Demaille
0dd97f7c87 regen 2019-04-03 19:20:39 +02:00
Akim Demaille
941cdf921d regen 2019-03-17 16:36:05 +01:00
Akim Demaille
58ae95670b style: rename spec_defines_file as spec_header_file
The variable spec_defines_file denotes the name of the generated
header.  Its name is derived from --defines/%defines, whose name in
turn is derived from the fact that the header, in Yacc, contained the

Not only does the header now contain a lot more than just the token
definitions, but we no longer even generate macros, but an enum...

Let's modernize our vocabulary.

* src/files.h, src/files.c (spec_defines_file): Rename as...
(spec_header_file): this.
2019-03-17 16:36:05 +01:00
Akim Demaille
bd55d43333 graph: prefer *.gv to *.dot
Reported by Hans Åberg.
https://lists.gnu.org/archive/html/help-bison/2019-02/msg00064.html

* src/files.c (spec_graph_file): Use `*.gv` when 3.4 or better,
otherwise `*.dot`.
* src/parse-gram.y (handle_require): Pretend we are already 3.4.
* doc/bison.texi: Adjust.
* tests/local.at, tests/output.at: Exercise this.
2019-02-21 06:46:07 +01:00
Akim Demaille
eb0f3e79e0 fixits: handle duplicates of %name-prefix
The test case "Deprecated directives" (currently 56) no longer emits
warnings after 'bison -u'!

* src/files.h, src/files.c (spec_name_prefix_loc): New.
* src/parse-gram.y (handle_name_prefix): Emit fixits for duplicate
%name-prefix.
* tests/input.at (Deprecated directives): Adjust.
2019-01-17 18:09:38 +01:00
Akim Demaille
25b7421c40 regen 2019-01-17 18:09:38 +01:00
Akim Demaille
f5a646c390 regen 2019-01-16 08:40:47 +01:00
Akim Demaille
4a41a8ec51 regen 2019-01-14 19:57:37 +01:00
Akim Demaille
79e79be298 diagnostics: improve accuracy for deprecated %define variables
* src/parse-gram.y: Use the location of the whole definition to record
the location of a %define variable, instead of just the name of the
variable.
Adjust tests.
2019-01-14 19:57:37 +01:00
Akim Demaille
8c3a7687e4 regen 2019-01-14 19:57:37 +01:00
Akim Demaille
b7ddb1f224 yacc.c: avoid negated if
* data/skeletons/yacc.c: Prefer a "direct" conditional.
2019-01-05 15:09:28 +01:00
Akim Demaille
2471733f1a package: bump copyrights to 2019 2019-01-05 14:58:05 +01:00
Akim Demaille
f773e6ead5 reader: get rid of a useless function
Useless since 58d7a1a1c7 (2006).

* src/parse-gram.y, src/reader.h (token_name): Remove, unused.
2018-12-28 18:48:07 +01:00
Akim Demaille
dbe499e936 regen 2018-12-16 12:27:28 +01:00
Akim Demaille
d68f05d75c style: s/non-terminal/nonterminal/
I personally prefer 'non terminal', or 'non-terminal', but
'nonterminal' is the common spelling.

* data/glr.c, src/parse-gram.y, src/symtab.c, src/symtab.h,
* tests/input.at, doc/refcard.tex: here.
2018-12-11 06:55:41 +01:00
Akim Demaille
4cbdcaa572 regen 2018-12-09 13:55:05 +01:00
Akim Demaille
1e6a68858a regen 2018-12-09 12:50:53 +01:00
Akim Demaille
401afe5cc2 parser: fix incorrect condition to raise a syntax error
* src/parse-gram.y (symbol_def): Fix test.
2018-12-06 17:50:54 +01:00
Akim Demaille
f539a56620 regen 2018-12-03 18:42:00 +01:00
Akim Demaille
060da943bd regen 2018-11-30 06:10:21 +01:00
Akim Demaille
b1d6c42ae5 regen 2018-11-29 06:16:20 +01:00
Akim Demaille
0e9eade009 regen 2018-11-27 08:32:49 +01:00
Akim Demaille
9ffed56cd9 regen 2018-11-25 11:27:08 +01:00
Akim Demaille
4ebebcc438 regen 2018-11-21 22:10:35 +01:00
Akim Demaille
ebb92c0545 regen 2018-11-20 20:04:06 +01:00
Akim Demaille
4810ed8107 regen 2018-11-12 07:41:46 +01:00
Akim Demaille
3d601616da regen 2018-11-10 17:03:36 +01:00
Akim Demaille
0308dfb039 regen 2018-10-23 09:08:57 +02:00
Akim Demaille
a7842d1bc0 regen 2018-10-21 09:58:44 +02:00
Akim Demaille
9017924783 regen 2018-10-16 13:41:45 +02:00
Akim Demaille
a99b4f45bb regen 2018-10-16 13:33:32 +02:00
Akim Demaille
d288047e9b regen 2018-08-18 07:42:07 +02:00
Akim Demaille
c2de9dafd1 regen 2018-08-14 06:15:42 +02:00
Akim Demaille
b79b889de5 regen 2018-08-11 18:09:29 +02:00
Akim Demaille
9502b2ab48 style: split a function in two
grammar_current_rule_action_append was used in two different places:
for actual action (`{...}`), and for predicates (`%?{...}`).  Let's
split this in two different functions.

* src/reader.h, src/reader.c (grammar_current_rule_predicate_append): New.
Extracted from...
(grammar_current_rule_action_append): here.
Remove arguments that don't apply.
Adjust dependencies.
2018-07-26 20:18:32 +02:00
Akim Demaille
f462a08572 Merge maint into master
* upstream/maint: (48 commits)
  THANKS: update an address
  tests: adjust syncline tests to GCC 7
  glr: fix improperly placed synclines
  bison: be git grep friendly
  Replace ftp with https
  maint: post-release administrivia
  version 3.0.5
  bison: style: indentation fixes
  regen
  bison: please address sanitizer
  C++: style: fix indentation
  NEWS: update
  C++: style: prefer `unsigned` to `unsigned int`
  C++: style: space before paren
  C++: fix -Wdeprecated warnings
  tests: fix -Wdeprecated warning
  maint: update syntax-check exclusions
  autoconf: update
  regen
  Update copyright years
  ...
2018-06-17 18:43:59 +02:00
Akim Demaille
1e7a8315f6 bison: style: indentation fixes
* src/parse-gram.y: here.
2018-05-27 10:58:29 +02:00
Akim Demaille
4eeec4e41f regen 2018-05-27 10:46:31 +02:00
Akim Demaille
77a0e35143 regen 2018-05-19 15:14:46 +02:00
Akim Demaille
2e9e591889 Update copyright years
Run `make update-copyright`.
2018-05-12 18:18:41 +02:00