Valentin Tolmer and Akim Demaille
1b85ac4586
glr2.cc: misc cleanups
...
* data/skeletons/glr2.cc: Use 'const' on variables and applicable
member functions.
Improve comments.
Use references where applicable.
Enforce names_like_this, notLikeThis.
Reduce scopes.
2020-12-06 14:02:38 +01:00
Valentin Tolmer and Akim Demaille
2ec6df3b07
glr2.cc: fix memory corruption bug
...
* data/skeletons/glr2.cc (yyremoveDeletes): Remove double-increment in
the loop.
(glr_state::copyFrom): Handle gracefully when other is resolved.
2020-12-06 14:02:38 +01:00
Valentin Tolmer and Akim Demaille
4f24f5f304
glr2.cc: use 'const' for some constant local variables
...
* data/skeletons/glr2.cc: here.
2020-12-06 13:54:45 +01:00
Valentin Tolmer and Akim Demaille
12a5cc07e0
glr2.cc: replace refs to parser::symbol_kind_type with yysymbol_kind_t
...
* data/skeletons/glr2.cc: here.
2020-09-17 19:37:05 +02:00
Valentin Tolmer and Akim Demaille
27b5d92563
glr2.cc: fix container out-of-bounds access
...
Clang 10 with ASAN enabled reported errors in glr2.cc.
* data/skeletons/glr2.cc: here.
2020-09-17 19:35:47 +02:00
Valentin Tolmer and Akim Demaille
00e47b11d2
glr2.cc: coding style changes
...
* data/skeletons/glr2.cc: Change some CamlCase to snake_case, and
remove some yy prefixes for classes inside the namespace.
2020-09-12 14:11:58 +02:00
Valentin Tolmer and Akim Demaille
cf8723de0d
glr2.cc: move StrongIndexAlias into the namespace
...
* data/skeletons/glr2.cc: here.
2020-09-12 14:11:40 +02:00
Valentin Tolmer and Akim Demaille
8bfc319f8e
glr2.cc: remove usage of PTRDIFF_MAX
...
* data/skeletons/glr2.cc: Use std::ptrdiff_t and numeric_limits.
2020-09-12 14:11:00 +02:00
Valentin Tolmer and Akim Demaille
1c5b05ad31
glr2.cc: remove C-style casts
...
* data/skeletons/glr2.cc: here.
2020-09-12 14:10:21 +02:00
Valentin Tolmer and Akim Demaille
b7e2cac2aa
glr2.cc: add copy constructor to yyGLRStackItem
...
This silences the clang warning -Wdeprecated-copy.
* data/skeletons/glr2.cc: here.
2020-09-12 14:10:02 +02:00
Valentin Tolmer and Akim Demaille
38abe1e1b7
glr2.cc: avoid warnings about printf and shadowing
...
* data/skeletons/glr2.cc: Migrate from using printf to std::cerr & co.
Since the yyGLRStack has the user params, no need to pass them around.
2020-09-04 06:47:10 +02:00
Valentin Tolmer and Akim Demaille
ef09bf065a
glr2.cc: fork glr.cc to a c++ version
...
This is a fork of glr.cc to be c++-first instead of a wrapper around
glr.c.
* data/skeletons/glr2.cc: New.
* data/skeletons/bison.m4, data/skeletons/c++.m4: Adjust.
* data/skeletons/c.m4 (b4_user_args_no_comma): New.
* src/reader.c (grammar_rule_check_and_complete): glr2.cc is C++.
* tests/actions.at, tests/c++.at, tests/calc.at, tests/conflicts.at,
* tests/input.at, tests/local.at, tests/regression.at, tests/scanner.at,
* tests/synclines.at, tests/types.at: Also check glr2.cc.
2020-08-30 10:45:21 +02:00
Valentin Tolmer and Akim Demaille
b663fd5322
uniqstr: fix assertion
...
* src/uniqstr.c (uniqstr_assert): Really make sure str is a uniqstr,
not just whether some uniqstr with the same content was registered.
2013-08-01 15:29:21 +02:00