[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/9] glr2.cc: fixes
From: |
Akim Demaille |
Subject: |
[PATCH 0/9] glr2.cc: fixes |
Date: |
Sun, 13 Dec 2020 08:49:18 +0100 |
This series of patches fixes minor issues and a couple of real
problems in glr2.cc. To catch them, self-checking features are added
to glr_stack_item and glr_state.
One test still fails:
748: Incorrect lookahead during nondeterministic GLR: glr2.cc
This test fails twice: it does not behave as expected (some expected
output does not show), and then it crashes (heap-use-after-free).
I see there are more places where typed pointer arithmetics is used
(e.g., in semantic_option). We need to make sure they are safe too,
or use raw pointer arithmetics.
I'll install this soon, unless someone fears I'm breaking something
(Valentin?). It will probably help to fix the last known bug.
Akim Demaille (9):
glr2.cc: add sanity checks in glr_stack_item
glr2.cc: add sanity check in glr_state
glr2.cc: style fixes
glr2.cc: fix pointer arithmethics
glr2.cc: fix yycompressStack
glr2.cc: being pure is not an option
glr2.cc: make yyparse a member function
glr2.cc: make the example more C++
glr.c: comment changes
TODO | 3 +
data/skeletons/glr.c | 16 +-
data/skeletons/glr2.cc | 633 ++++++++++++++++++--------------
examples/c++/glr/ast.hh | 100 +++++
examples/c++/glr/c++-types.test | 2 -
examples/c++/glr/c++-types.yy | 134 +------
examples/c++/glr/local.mk | 1 +
tests/glr-regression.at | 3 -
8 files changed, 484 insertions(+), 408 deletions(-)
create mode 100644 examples/c++/glr/ast.hh
--
2.29.2
- [PATCH 0/9] glr2.cc: fixes,
Akim Demaille <=
- [PATCH 1/9] glr2.cc: add sanity checks in glr_stack_item, Akim Demaille, 2020/12/13
- [PATCH 3/9] glr2.cc: style fixes, Akim Demaille, 2020/12/13
- [PATCH 2/9] glr2.cc: add sanity check in glr_state, Akim Demaille, 2020/12/13
- [PATCH 4/9] glr2.cc: fix pointer arithmethics, Akim Demaille, 2020/12/13
- [PATCH 5/9] glr2.cc: fix yycompressStack, Akim Demaille, 2020/12/13
- [PATCH 6/9] glr2.cc: being pure is not an option, Akim Demaille, 2020/12/13
- [PATCH 7/9] glr2.cc: make yyparse a member function, Akim Demaille, 2020/12/13
- [PATCH 8/9] glr2.cc: make the example more C++, Akim Demaille, 2020/12/13
- [PATCH 9/9] glr.c: comment changes, Akim Demaille, 2020/12/13