Yes it is case insensitive. What is the difference if I add "CREATE" or similar to the lexer? Is it more reliable in detecting the right tokens?
Andi -------- Original-Nachricht -------- > Datum: Thu, 9 Sep 2010 07:21:45 -0700 > Von: "Jim Idle" <[email protected]> > An: [email protected] > Betreff: Re: [antlr-interest] Tell ANTLR to ignore parsing errors? > If you are getting errors it is because your grammar is incorrect. Oracle > SQL is a huge grammar to undertake and you cannot 'hack' it. Your token in > the parser (which you should move to the lexer anyway and not use 'LITERAL' > in your parser code) is CREATEE but your input is create. Did you tell the > runtime to be case insensitive? > > Read the API or use antlr.markmail.org to see how to override > displayRecognitionError(). You cannot just ignore errors though because > somehow you > have to recover. You could just make them silent and when the parser returns > if the error count is >0 then ignore that source or something. > > I will have a commercial version of Oracle SQOL and PLSQL available before > too long too. > > Jim > > > > > -----Original Message----- > > From: [email protected] [mailto:antlr-interest- > > [email protected]] On Behalf Of Andi Clemens > > Sent: Thursday, September 09, 2010 5:45 AM > > To: [email protected] > > Subject: [antlr-interest] Tell ANTLR to ignore parsing errors? > > > > Hi, > > > > I use this ANTLR grammar file to parse Oracle PL/SQL statements: > > http://pastebin.com/uy0wZTax > > > > But some of the statements produce errors when I try to parse them, for > > example: > > > > "create user u1 identified by p1 account unlock;" > > > > I get the following error message: > > > > ============================== > > statementString(1) : error 3 : , at offset -1 > > near [Index: 0 (Start: 141054912-Stop: 141054917) ='create', > type<50> Line: > > 1 LinePos:-1] > > : cannot match to any predicted input... > > ============================== > > > > But why? The rule looks like this: > > ============================== > > create_user_statement > > : 'CREATE' 'USER' identifier 'INDENTIFIED' .* > > ; > > ============================== > > > > Could the wildcard character be the problem? > > Actually I just want to parse known Statements with my grammar, all > > unknown statements (parsing errors) could be ignored. > > > > Can I tell ANTLR (for the C target) to ignore those error messages and > just > > return FALSE or something like that, so that I can decide wether to take > an > > appropiate action? > > > > I get a lot of those error messages, and to be honest, the error > messages are > > not helping me here. I can not see problems with the grammar. > > Unfortunately I'm not able to debug the grammar with ANTLRworks. > > > > Can someone show me the error or tell me a way to disable those error > > messages in the ANTLR C target? > > > > Andi > > > > -- > > GMX DSL SOMMER-SPECIAL: Surf & Phone Flat 16.000 für nur 19,99 > > Euro/mtl.!* http://portal.gmx.net/de/go/dsl > > > > 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 -- GMX DSL SOMMER-SPECIAL: Surf & Phone Flat 16.000 für nur 19,99 Euro/mtl.!* http://portal.gmx.net/de/go/dsl 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.
