mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
We had:
```
-mbchar ...|\xF0[\x\90-\xBF]([\x80-\xBF]{2})|...
+mbchar ...|\xF0[\x90-\xBF]([\x80-\xBF]{2})|...
```
so a precise sequence that matches the incorrect regex can let NUL
bytes pass through, which triggers an assertion violation downstream.
It is a pity that Flex does not report an error for such input.
Reported by Ahcheong Lee <ahcheong.lee@gmail.com>.
<https://lists.gnu.org/r/bug-bison/2021-04/msg00003.html>
* src/scan-gram.l (mbchar): Fix the bad regex.
* tests/input.at (Invalid inputs): Check that case.
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
- java
- lac
- %merge
- multistart
- push
- report: for automaton dumps
- %union
- variant
Calculator
The grammar features several special directives:
!!YYERROR!+YYACCEPT!-YYABORT!*YYNOMEM