[antlr-interest] "finally" blocks
    Paul J. Lucas 
    pauljlucas at mac.com
       
    Mon Jan 17 22:38:01 PST 2005
    
    
  
On Tue, 18 Jan 2005, Alan Gutierrez wrote:
> * Paul J. Lucas <pauljlucas at mac.com> [2005-01-18 01:13]:
> > 	I wasn't asking.  I think you're misquoting.  Terence was the
> > 	one who was asking.
> 
>     Yes. I know. And if Terrence was asking if reliance of
>     destructors is prevelent in C++, in leiu of finally, I'm saying,
>     the answer is yes.
	OK, if you knew, then you intentionally misquoted (for reasons
	that aren't clear).
> > 	The lone standard such wrapper is auto_ptr<T>.
> 
>     Boost has a number of such wrappers.
	I clearly said "standard": Boost isn't part of ISO C++.
>     I also consider the std::string, std::list, std::vector to be RAII
>     wappers.
	std::string is; std::list is, but only if T is an object that
	has a destructor.  If T is really MyObject*, then, although the
	list will be properly destroyed, all the MyObjects will be
	leaked.  Same with vector.
	In my own code, I've created variants of auto_ptr<T>, i.e.,
	various flavors of managed_ptr<T> that properly destroys the T
	object when the pointer to it gets destroyed.
	But I digress...
>     My mistake. I'll go back to saying, for C++, forget about it.
	And, IMHO, it's not such a bad thing.  A C++ programmer would
	never want to have a "finally" block in ANTLR anyway because a
	C++ programmer doesn't think about "finally" blocks at all
	since C++ doesn't have them.
	But a Java programmer wants/expects a "finally" block in ANTLR
	because Java has them.
	- Paul
    
    
More information about the antlr-interest
mailing list