[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Exception safety of generated C++ parser
From: |
Oleksii Taran |
Subject: |
Re: Exception safety of generated C++ parser |
Date: |
Thu, 13 Sep 2012 23:52:31 +0300 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:15.0) Gecko/20120907 Thunderbird/15.0.1 |
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
- Exception safety of generated C++ parser, Oleksii Taran, 2012/09/13
- Re: Exception safety of generated C++ parser, Hans Aberg, 2012/09/13
- Re: Exception safety of generated C++ parser,
Oleksii Taran <=
- Re: Exception safety of generated C++ parser, Akim Demaille, 2012/09/19
- Re: Exception safety of generated C++ parser, Oleksii Taran, 2012/09/19
- Re: Exception safety of generated C++ parser, Akim Demaille, 2012/09/20
- Re: Exception safety of generated C++ parser, Oleksii Taran, 2012/09/20
- Re: Exception safety of generated C++ parser, Akim Demaille, 2012/09/21
- Re: Exception safety of generated C++ parser, Oleksii Taran, 2012/09/24
- Re: Exception safety of generated C++ parser, Akim Demaille, 2012/09/24
- Re: Exception safety of generated C++ parser, Akim Demaille, 2012/09/26