Related articles |
---|
[4 earlier articles] |
Re: Oracle grammar ambiguities and conflicts cfc@shell01.TheWorld.com (Chris F Clark) (2006-01-12) |
Re: Oracle grammar ambiguities and conflicts DrDiettrich@compuserve.de (Hans-Peter Diettrich) (2006-01-12) |
Re: Oracle grammar ambiguities and conflicts drikosv@otenet.gr (Evangelos Drikos) (2006-01-12) |
Oracle grammar ambiguities and conflicts mark.thiehatten@bibit.com (Mark Thiehatten) (2006-01-12) |
Re: Oracle grammar ambiguities and conflicts cfc@shell01.TheWorld.com (Chris F Clark) (2006-01-17) |
Re: Oracle grammar ambiguities and conflicts mattblackmon@hotmail.com (Matt Blackmon) (2006-01-17) |
Re: Oracle grammar ambiguities and conflicts david@tribble.com (David R Tribble) (2006-01-17) |
Re: Oracle grammar ambiguities and conflicts parsersinc@earthlink.net (SLK Parsers) (2006-01-19) |
Re: Oracle grammar ambiguities and conflicts parsersinc@earthlink.net (SLK Parsers) (2006-01-19) |
Re: Oracle grammar ambiguities and conflicts parsersinc@earthlink.net (SLK Parsers) (2006-01-20) |
From: | "David R Tribble" <david@tribble.com> |
Newsgroups: | comp.compilers |
Date: | 17 Jan 2006 21:42:02 -0500 |
Organization: | Compilers Central |
References: | 01-07-11806-01-029 |
Keywords: | SQL, parse |
Posted-Date: | 17 Jan 2006 21:42:02 EST |
John Fairhall wrote:
>> I am attempting to write a parser for Oracle 7.3.4 SQL/PLSQL using
>> Visual Parse++ 4.0. I have run into a problem where non-reserved
>> keywords must be included as identifiers, causing millions of conflicts
>> in the grammar. Does anyone have experience with either using VP++
>> or with writing grammars for SQL?
>
matt blackmon wrote:
> Lastly, would a LL grammar be more befitting this problem than a LR?
Don't know if this will help, but I wrote a top-down recursive-descent
parser in Java for SQL-like queries, at:
http://david.tribble.com/src/java/tribble/parse/sql/QueryParser.java
which is part of my 'tribble.parse.sql' package at:
http://david.tribble.com/src/java
The parse_operand() and parse_name_expr() methods treat a
keyword as an error when an operand (identifier or literal) is
expected, but they can be modified fairly easily (although you
may give up some syntax checking if you do this).
(My code is open source.)
-drt
Return to the
comp.compilers page.
Search the
comp.compilers archives again.