Files
bison/tests
Akim Demaille 6571c2d1b1 warnings: don't complain about m4_foo and b4_foo when from the user
Currently, occurrences of these identifiers in the user's input yield
spurious warnings.

To tell the difference between a legitimate m4_foo from the user, and
a bad m4_foo coming from a non-evaluated macro of a skeleton, escape
the user's identifiers as m4@'_foo.  We already use @' as a special
sequence to be stripped from the skeleton's output.

See <https://lists.gnu.org/r/bug-bison/2021-10/msg00026.html> and
previous commit ("warnings: be less picky about occurrences of m4_/b4_
in the output").

* src/flex-scanner.h (OBSTACK_SGROW): New.
* src/output.c (output_escaped): Escape m4_ and b4_.
* src/scan-code.l: Likewise.
* src/system.h (obstack_escape): Likewise.
And rewrite as a function.
* tests/skeletons.at (Suspicious sequences): Make sure the user can
use m4_foo/b4_foo without spurious warnings.
2021-11-07 09:52:05 +01:00
..
2021-01-30 14:32:00 +01:00
2021-08-12 09:07:36 +02:00
2021-09-12 12:03:58 +02:00
2021-11-06 08:29:59 +01:00
2021-01-29 13:48:43 -08:00
2021-01-30 07:32:03 +01:00
2021-01-23 15:02:49 +01:00
2021-01-30 07:32:03 +01:00
2021-08-19 08:21:22 +02:00
2021-03-07 18:41:38 +01:00
2021-09-02 07:27:42 +02:00
2021-01-30 14:32:00 +01:00

AT_BISON_OPTION_PUSHDEFS/AT_BISON_OPTION_POPDEFS

These two macros must be given the (main) directives so that they define a number of other macros to:

  • what the language is (so what compiler tool chain to use, what definition of yylex/yyerror, etc.)
  • what skeleton is used

Keywords

The following keywords are used to label tests (with AT_KEYWORDS(category)). Please follow them and avoid creating synonyms.

  • action
  • api.value.type
  • c++: c++ language
  • cex: counterexamples.
  • d: d language
  • deprec: deprecated features.
  • diagnostics
  • glr
  • graph
  • html: html reports
  • java
  • lac
  • %merge
  • multistart
  • push
  • report: for automaton dumps
  • %union
  • variant
  • yacc: POSIX yacc (%yacc)

Calculator

The grammar features several special directives:

  • !! YYERROR
  • !+ YYACCEPT
  • !- YYABORT
  • !* YYNOMEM