[antlr-interest] AntLR C# target exceptions problem

Jan Newger Jan.Newger at rwth-aachen.de
Sun Apr 12 15:23:06 PDT 2009


Hi,

I'm trying to get the C# target to work, only with partial success. I'm
using VS 2008 SP1 or VS 2005 with AntlrWorks and the runtime from
DOT-NET-runtime-3.1.2.zip.
The problem is, that exceptions raised due to invalid input don't
"bubble up" to my code. I noticed the paragraph "Exceptions not trapped
in Visual Studio" (see below) on the antlr website.
I took the test grammar from
http://www.antlr.org/wiki/pages/viewpage.action?pageId=557075 and used
the generated parser and lexer. My code looks like this:

try
{
	ANTLRFileStream fs = new ANTLRFileStream("test.txt");
	TestLexer lex = new TestLexer(fs);
	CommonTokenStream tokens = new CommonTokenStream(lex);
	TestParser parser = new TestParser(tokens);
	parser.expr();
}
catch (NoViableAltException ex)
{
	MessageBox.Show(ex.Message);
}

When I debug this code with VS (debug build) the debugger halts in the
Lexer with a NoViableAltException, but my code never gets a chance to
catch this exception, same goes for the release build. I even don't even
get an exception when no debugger is attached.

Note that when i do what the entry "Exceptions not trapped in Visual
Studio" suggests, VS just continues after the exceptions, i.e. ignores
them, and my code also never has the chance to catch them.

Any ideas?

Thanks and regards
Jan




More information about the antlr-interest mailing list