I may have miscommunicated something here. I have a very simple "Hello World!" style grammar that I wrote to learn ANTLR. I deliberately fed the lexer/parser wrong input to see what happens. I can see this exception being caught by the parser (I forced the debugger to break into this exception by explicitly listing this exception under Debug->Exceptions list in VS2010). But the outer client code that fires off the parser (using ANTLRStringStream and friends) is bracketed by try/catch blocks but never gets anything. This probably makes sense if library code is eating those exceptions but if it does, how can client code know something went wrong?
On Thu, May 19, 2011 at 5:52 AM, Sam Harwell <[email protected]>wrote: > My initial guess is the exceptions are being thrown in the lexer. By > default, the implementation of NextToken in the lexer catches any > RecognitionException and handles it by skipping the invalid token. Custom > handling of the exception depends on exactly what you're trying to > accomplish. One way to start is adding the following rule to the end of > your > lexer, which passes the invalid tokens to the lexer for handling. > > INVALID_CHAR : . ; > > Sam > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Dilip Ranganathan > Sent: Wednesday, May 18, 2011 3:00 AM > To: [email protected] > Subject: [antlr-interest] ANTLR C# port > > Hi > > I have been banging my head with Sam Harwell's Antlr C# port since morning. > > SO far I have managed to integrate grammar compilation with Visual Studio > 2010 following the instructions on this page: > http://www.antlr.org/wiki/display/ANTLR3/Antlr3CSharpReleases > > However I am stuck with something for the moment. A simple test driver > program I wrote to test the generated lexer/parser doesn't report any kind > of error when I pass invalid input. That is, the generated parser code is > eating the exception and the output window only shows that a few first > chance exceptions were generated. Now I added these exceptions to > Debug->Exceptions list in VS 2010 (under CLR) and that way I was able to > make the debugger break into the offending code but I can't believe this is > the way to do it? Shouldn't I be seeing something on the console or at > least > as an exception I must be able to catch and display exactly what was wrong > with my input? > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: > http://www.antlr.org/mailman/options/antlr-interest/your-email-address > > List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address -- You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en.
