diff --git a/src/runtime/c/pgf/parser.cxx b/src/runtime/c/pgf/parser.cxx index 48ace5e87..75dee02ca 100644 --- a/src/runtime/c/pgf/parser.cxx +++ b/src/runtime/c/pgf/parser.cxx @@ -7,6 +7,13 @@ //#define DEBUG_PARSER //#define DEBUG_GENERATOR +struct PgfLRTableMaker::Item { + object lin_obj; + size_t seq_index; + ref seq; + size_t dot; +}; + struct PgfLRTableMaker::State { size_t id; Predictions *preds; @@ -18,13 +25,12 @@ struct PgfLRTableMaker::State { this->id = 0; this->preds = preds; } -}; -struct PgfLRTableMaker::Item { - object lin_obj; - size_t seq_index; - ref seq; - size_t dot; + ~State() { + for (Item *item : items) { + delete item; + } + } }; struct PgfLRTableMaker::Predictions {