This fixes test 130 (Several parsers).
* data/location.cc: Include <iostream> rather than <iosfwd> since
we really need << on strings for instance.
* NEWS: Document this.
Signed-off-by: Akim Demaille <[email protected]>
Note that 'make web-manual' fails.
* NEWS: Document these changes.
* doc/Makefile.am: Adjust to generate example files.
* doc/bison.texi: Add a Graphviz section after "Understanding::", the section
describing the .output file, because these are similar.
* doc/figs/example-reduce.dot, doc/figs/example-reduce.txt,
doc/figs/example-shift.dot, doc/figs/example-shift.txt: New, minimal
examples to illustrate the documentation.
Signed-off-by: Akim Demaille <[email protected]>
Use something similar to the report file.
* src/print_graph.c (print_lhs): New, obstack equivalent of rule_lhs_print.
(print_core): Use here.
Signed-off-by: Akim Demaille <[email protected]>
* src/graphviz.c (start_graph): Use courier font.
(conclude_red): Use commas to separate attributes. Show the acceptation
as a special reduction, with a blue color and an "Acc" label. Show the
lookahead tokens between square brackets.
(output_red): No longer label default reductions.
* src/print_graph.c (print_core): Refactor spacing, and print an
additional space between a rule's rhs and its lookahead tokens. Also,
capitalize "State".
(print_actions): Style, move a declaration.
Signed-off-by: Akim Demaille <[email protected]>
All disabled reductions should now be shown as such.
* src/graphviz.c (output_red): Here.
(conclude_red): New.
Signed-off-by: Akim Demaille <[email protected]>
Because argv[0] is never used, shift it out from the argument list.
* src/complain.c (complain_args): Here.
* src/scan-skel.l (at_complain): Adjust argv and argc.
Signed-off-by: Akim Demaille <[email protected]>
* src/graphviz.c (start_graph): Use box rather than ellipsis.
* src/print_graph.c (print_core): Prefix rules with their number.
Signed-off-by: Akim Demaille <[email protected]>
* src/scan-skel.l (at_directive, at_init): New.
(at_ptr): New, function pointer used to call the right at_directive
function (at_basename, etc.).
(outname): Rename as...
(out_name): this, for consistency with out_lineno.
Signed-off-by: Akim Demaille <[email protected]>
* TODO: Address the issue, so remove it.
* data/bison.m4: Use b4_error with [[note]] rather than a complain_at
for context information.
* src/complain.c (complain_args): Take an additional argument, an
indentation pointer, to allow the dispatching of context information.
* src/complain.h (complain_args): Adjust prototype.
* src/scan-skel.l (at_directive_perform): Recognize the new @note mark.
* tests/input.at: Adjust.
Signed-off-by: Akim Demaille <[email protected]>
Instead of @complain, @warn, and @fatal, use a unique @complain
directive. This directive's first argument is "complain", "warn", etc.
* data/bison.m4 (m4_error): Here.
* src/scan-skel.l (at_directive_perform): Adjust.
(flag): Replace the switch by safer and more explicit if branches.
Signed-off-by: Akim Demaille <[email protected]>
This fixes test 130 (Several parsers).
* data/location.cc: Include <iostream> rather than <iosfwd> since
we really need << on strings for instance.
* NEWS: Document this.
Signed-off-by: Akim Demaille <[email protected]>
This function is now a mere iterator that calls flag_argmatch,
a new function, that matches a single option parameter.
* src/getargs.c (flag_argmatch): New, taken from...
(flags_argmatch): Here.
Signed-off-by: Akim Demaille <[email protected]>
The code here was too confusing, this seems more natural.
* src/complain.c (error_message): Move the indentation check and the category
output to complains. Also, no longer take a 'warnings' argument.
(complains): Factor calls to error_message.
Signed-off-by: Akim Demaille <[email protected]>
Move the dispatch of variadic complains to complain.c, rather than do
it in a scanner.
* src/complain.h, src/complain.c (complain_args): New.
* src/scan-skel.l (at_directive_perform): Use it.
Signed-off-by: Akim Demaille <[email protected]>
Rectify a bug that introduced suffixes out of place.
* src/complainc.c (complains): Handle all three special warning bits.
* src/scan-code.l (show_sub_message): Remove useless argument.
* tests/named-refs.at: Adjust.
Signed-off-by: Akim Demaille <[email protected]>
This is the continuation of the work on the readability of errors
context.
* src/symtab.c (user_token_number_redeclaration): Use
complain_at_indent to output with increased indentation level.
* tests/input:at: Apply this change.
Signed-off-by: Akim Demaille <[email protected]>
This line doesn't add any meaningful information anymore, the appended
[-Werror=CATEGORY] is enough. It is actually more insightful, as it
allows to distinguish warnings treated as errors from those that
aren't. This line is also removed by gcc 4.8.
* src/complain.c (set_warnings_issued): The only action left was
checking if the error bit corresponding to the warning issued was set,
and that function was only called once. Therefore, remove it, and do
its job directly in the caller...
(complains): here.
* src/complains.h: Adjust.
* tests/input.at: Adjust.
* NEWS: Document this change.
Signed-off-by: Akim Demaille <[email protected]>
This new option is a lot more flexible than the previous one. Its
details will be discussed in the NEWS and info file, in a forthcoming
change.
If no category is specified (ie: used as simply "-Werror"), the
functionality is the same as before.
* src/complain.c (errors_flag): New variable.
(set_warning_issued): Accept warning categories as an argument.
* src/complain.h (Wall): Better definition.
* src/getargs.c (flags_argmatch): Support for the new format.
(usage): Update -Werror to -Werror[=CATEGORY] format.
* src/complain.c (errors_flag): New variable.
(set_warning_issued): Accept warning categories as an argument.
* src/complain.h (Wall): Better definition.
* src/getargs.c (flags_argmatch): Support for the new format.
(usage): Update -Werror to -Werror=[CATEGORY] format.
Signed-off-by: Akim Demaille <[email protected]>