Commit Graph

8 Commits

Author SHA1 Message Date
Akim Demaille
e8619330e8 cex: be sure to always reclaim memory put in hashes
One call to hash_initialize did not provide a function to free memory.

* src/state-item.c (hash_pair_table_create): New.
Use it.
2020-05-22 08:45:43 +02:00
Akim Demaille
193dc86965 cex: properly reclaim hash's allocated memory
* src/state-item.c: Use hash_free where appropriate.
2020-05-22 08:45:43 +02:00
Akim Demaille
51fa2ab0a2 cex: avoid gratuitous heap allocations
There's no need to go for the heap when using gnulib's hash module.

* src/state-item.c (hash_pair_lookup, hash_pair_remove,
state_sym_lookup): Use the heap Luke.
That removes a leak from hash_pair_lookup.
(init_prods): Use hash_pair_insert instead of duplicating it.
2020-05-22 08:45:43 +02:00
Vincent Imbimbo
2d8c3edbf8 cex: fix leaks
* src/state-item.c: Various functions were using heap allocated locals
and not freeing them.
2020-05-22 08:45:43 +02:00
Akim Demaille
4590071287 style: use hash_xinsert
* gnulib: Update to get hash_xinsert.
Use it where appropriate.
2020-05-22 08:45:43 +02:00
Akim Demaille
ac3b6c18a5 cex: style changes in state-item
* src/state-item.h, src/state-item.c (state_item): Make the state
const.
(state_item_set): Make it clearer that it works in the state_items
global array.
2020-05-22 08:45:43 +02:00
Akim Demaille
6279945003 cex: fix a crash
* src/state-item.c (init_state_items): If the rule has no reductions
at all, don't read at all in its list of reduced rules.
2020-05-22 07:52:27 +02:00
Vincent Imbimbo
5807dd9279 cex: add support for state-item pair graph generation
* src/lssi.h, src/lssi.c, src/state-item.h, src/state-item.c: New.
2020-05-22 07:52:27 +02:00