[antlr-interest] Suppress error mesages in console

Dmitry Gusev dmitry.gusev at gmail.com
Sat Feb 2 13:12:41 PST 2008


Looks like it's all around BaseRecognizer reportError(...)

Thanks anyway

On Feb 2, 2008 7:14 PM, Dmitry Gusev <dmitry.gusev at gmail.com> wrote:

> I did implement my own error reporing routine, my grammar with that
> routine is there: http://pastebin.com/f3ac5c70
>
> But still I can't figure out where those errors are coming from... Here is
> how I'm parsing the input:
>
>             1. ANTLRStringStream input = new CaseInsensitiveStringStream
> (expression);
>             2. ExpressionLexer lexer = new ExpressionLexer(input);
>             3. CommonTokenStream stream = new CommonTokenStream(lexer);
>             4. ExpressionParser parser = new ExpressionParser(stream);
>             5. try
>             6. {
>             7.    ExpressionParser.expr_return r = parser.expr();
>             8.
>             9.    return (CommonTree) r.Tree;
>            10. } catch (RecognitionException) {
>            11.     throw new MultipleRecognitionExceptions(
> parser.GetErrors());
>            12. }
>
> The error messages I've mentioned appears in line 3
>
> I know why the error occured, and I've made the bad input especially for
> the example.
>
> But the question is how to write the error handling routine that will
> suppress that errors to be written to the standard output.
>
>
> On Feb 2, 2008 6:07 PM, Jim Idle <jimi at temporal-wave.com> wrote:
>
> >  Implement your own error reporting routine (should be an example in the
> > wiki I think) and then you can do anything you like including being silent.
> > However, this looks like a lexer specification problem. Do you have
> > something that takes a path like: '0'...'9'+ ':' and your input is [999]?
> > You need to allow the lexer rule to end before the ':' and let the lexer
> > change the type of the token to whatever that means.
> >
> >
> >
> > In a lexer, unless you feel that your rules encapsulate all input at all
> > points, then you may find it useful to have as your last rule:
> >
> >
> >
> > UNKNOWN : . {System.err.println("Debug: Character '" + $text + "' is not
> > catered for."); } ;
> >
> >
> >
> > Jim
> >
> >
> >
> > *From:* Dmitry Gusev [mailto:dmitry.gusev at gmail.com]
> > *Sent:* Saturday, February 02, 2008 4:54 AM
> > *To:* antlr-interest at antlr.org
> > *Subject:* [antlr-interest] Suppress error mesages in console
> >
> >
> >
> > If I try to parse bad input I have error messages in console like this:
> >
> > line 1:6 mismatched character ']' expecting ':'
> >
> > How can I suppress this output?
> >
> >
> >
> > --
> > Dmitry Gusev
> >
>
>
>
> --
> Dmitry Gusev




-- 
Dmitry Gusev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20080203/f6949495/attachment.html 


More information about the antlr-interest mailing list