[antlr-interest] "finally" blocks

Paul J. Lucas pauljlucas at mac.com
Mon Jan 17 15:37:53 PST 2005


On Mon, 17 Jan 2005, Terence Parr wrote:

> Interesting...was wondering how to do that in C++.  I wonder if it's 
> general though.

	It's trivial to make a templated "flag" class that takes any
	type T.

> A finally clause can play with all sorts of local variables and call methods
> etc...

	I don't have Bjarne's book in front of me, but he talks about
	the general concept is about resource aquisition and release
	(which is mostly what "finally" in Java is used for, e.g., open
	a file, make sure it's closed, etc.).

	In practice, "finally" code generally only needs to reset a
	small number of things, so it's not as bad as you might think.

> Would ANTLR need to analyze C++ actions (shudder) in order to construct the
> bool_flag(arglist) thing?  Probably.

	In ANTLR for C++, you don't need "finally" at all because if
	the user wants the functionality, s/he can simply do what I
	did, i.e., create a variable having a destructor.

	The only reason I want "finally" in ANTLR is because I'm using
	Java (only because I'm paid to) and Java needs "finally".

	But this implies that ANTLR for Java and ANTLR for C++ would be
	different.

	- Paul



More information about the antlr-interest mailing list