13.09.12 19:32, Hans Aberg wrote: > On 13 Sep 2012, at 17:54, Oleksii Taran wrote: > >> Does Bison guarantees exception safety in C++ parser, i.e. will it make >> any clean-up and free memory if an exception is thrown on rule action? > Yes, the default stack is std::deque. > >> I >> know about %destructor directive, but it seems irrelevant, since >> destructor code is called only if parser recovers from _syntax_ error. > This is for the C parser, since C does not provide automatic cleanup. I might > be possible to compile this parser as C++ (supported at least in the past), > in which case %destructor would be needed. >
But what if deque holds not objects, but pointers to them? e.g. code like this: %union { ::std::string *token; } How Bison knows that it should call something like `delete token;` ? -- Best regards, Oleksii Taran _______________________________________________ help-bison@gnu.org https://lists.gnu.org/mailman/listinfo/help-bison