[antlr-interest] Re: Very weird SQL parser failures - look-ahead?

Monty Zukowski monty at codetransform.com
Tue Jun 1 10:43:22 PDT 2004


Run antlr.Tool with -traceParser, that may help you figure out where it 
is going wrong.

Also, I just finished a SQL parser on contract.  I recommend the NIST 
SQL-92 test suite to ferret out grammatical problems such as these.

I am also available by the hour to debug things like this.  
Unfortunately I don't have so much "free" time to solve these problems 
for fun any more.

Monty Zukowski

ANTLR & Java Consultant -- http://www.codetransform.com
ANSI C/GCC transformation toolkit -- 
http://www.codetransform.com/gcc.html
Embrace the Decay -- http://www.codetransform.com/EmbraceDecay.html




On Jun 1, 2004, at 10:20 AM, anatoli_krassavine wrote:

> Hello Bharath,
>
> This is /grammar/ORACLE-7-SQL from ANTLR website virtually verbatium.
>
> I cannot see anything in the grammar which would have caused such
> behaviour. It also appears specific to
>
> select ....... where ... in (select .....)
>
> statements
>
> I honestly tried to find what is wrong, but cannot see it.
>
> Cheers,
>  Toly
>
> --- In antlr-interest at yahoogroups.com, "Bharath Sundararaman"
> <bharath at s...> wrote:
>>
>> Hi,
>>
>> Where is the grammar for the statement? If you had a grammar rule
> which
>> expects a CLOSE_PAREN right after the IDENTIFIER (abc), it should
> give the
>> error. It would be nice if you copy-paste the rule for this SQL
> statement.
>>
>> Bharath.
>> ~Give me the tool and I shall move the earth~
>>
>> -----Original Message-----
>> From: anatoli_krassavine [mailto:toly at i...]
>> Sent: Tuesday, June 01, 2004 10:47 AM
>> To: antlr-interest at yahoogroups.com
>> Subject: [antlr-interest] Very weird SQL parser failures - look-
> ahead?
>>
>>
>>   Hello,
>>
>> I tried to use Oracle 7 SQL grammar in anger. It works great for
> very
>> complex SQL statements, but I suddenly stumbled on an unexpected
>> issues with what I consider to be a very simple SQL. Could someone
>> please advice.
>>
>> The following statement fails with
>> Exception in thread "main" line 10:2: expecting CLOSE_PAREN,
>> found 'null'
>>
>> ------------
>> SELECT *
>> FROM
>>     c.abcd
>> WHERE
>>     cr.no IN
>> (
>> SELECT cr.no FROM c.cr cr
>> union
>> SELECT a FROM abc where a=b
>> )
>> ------------
>> On the other hand this works fine (note that "where a=b" was
> removed)
>>
>> SELECT *
>> FROM
>>     c.abcd
>> WHERE
>>     cr.no IN
>> (
>> SELECT cr.no FROM c.cr cr
>> union
>> SELECT a FROM abc
>> )
>> ------------
>>
>> AFAICC, it is not a problem with syntax, but a problem with a look-
> ahead,
>> but I do not understand how to fix this.
>>
>> Any help or pointing in the right direction will be greatly
>> appreciated.
>>
>> Details:
>> Oracle 7 SQL grammar from  /grammar/ORACLE-7-SQL
>> No changes, conventional lexer/parser generated
>>
>>
>>
>>
>>
>> Yahoo! Groups Links
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
>



 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
     http://groups.yahoo.com/group/antlr-interest/

<*> To unsubscribe from this group, send an email to:
     antlr-interest-unsubscribe at yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
     http://docs.yahoo.com/info/terms/
 



More information about the antlr-interest mailing list