I visited ANTLR website once again, and just noticed that Hibernate's HQL
language was implemented in ANTLR (http://www.antlr.org/about.html)

Perhaps that would be a good choice, I guess.

Regards,

Fidel H Viegas


On Sat, Aug 9, 2014 at 5:37 PM, Fidel H Viegas <[email protected]>
wrote:

> Hi Luca and Emrul!
>
> I am familiar with all three of them: JavaCC, ANTLR (back when it was only
> PCCTS) and SableCC. I have written a backend for SableCC that generates
> Python code, that is the one I am more familiar with as I know the
> internals. JavaCC generates LL(1) parsers, SableCC generates LALR(1)
> parsers, similar to Yacc, and ANTLR generates LL(K) parsers. I work mostly
> with SableCC, because I work a lot with Python, and use the backend
> implemented by me. However, I would suggest going with the newer version of
> ANTLR and starting, perhaps, with the grammar for Sqlite found here
> https://github.com/antlr/grammars-v4. SableCC was working on a newer
> version, supposed to be version 4 that would allow several backends, but
> the project does not seem to have much activity based on that version. I am
> still using a modified version of SableCC 3 that has a language to generate
> the backends. I implemented the Python backend and was interested in
> implementing the backend for SableCC 4, but I don't really see much
> activity there. Now, as for ANTLR there seems to be a lot of progress, as
> we keep seeing versions coming out. Terrence Parr is continuously working
> on it and there's a lot of support for other languages as well.
>
> Emrul, is your project available in any repository you could share? I
> would be interested in seeing the code, and if I find some time I could
> probably give you a hand.
>
> Regards,
>
> Fidel H Viegas
>
>
>
> On Sat, Aug 9, 2014 at 4:52 PM, Luca Garulli <[email protected]> wrote:
>
>> Hi Emrul,
>> Thanks for your feedback. I'll forward it to the guy ;-)
>>
>> Lvc@
>>
>>
>> On 9 August 2014 17:25, Emrul Islam <[email protected]> wrote:
>>
>>> Luca,
>>>
>>> I did some research on this exact choice for OrientDB and can summarise
>>> as follows:
>>> 1. JavaCC seems to be quite established and there's a rather complete
>>> SQL parser written for it (originating from IBM and Informix, passing to
>>> Akiban and now part of FoundationDB)
>>> https://github.com/FoundationDB/sql-parser - it could be a solid
>>> starting point
>>> 2. JavaCC seems to lack documentation so for people unfamiliar with
>>> writing parsers it could be very difficult
>>> 3. ANTLR is very modern, has many nice features and there's a
>>> comprehensive book from the author that explains many aspects of writing
>>> parsers.
>>> 4. An ANTLR parser was started for OrientDB already so was also a good
>>> starting point.
>>>
>>> In my attempt I used ANTLR (and Jonathan Sorel's starting point) but
>>> just was not able to complete the task.
>>>
>>> Ultimately, I'm a pragmatist and have concluded that actually the
>>> underlying parser library doesn't matter.  I couldn't find any technical
>>> pro or con other than my opinion that ANTLR seems a bit cleaner and easier
>>> to understand.
>>>
>>> So, if you hire a parser expert then probably using the
>>> IBM/Informix/Akiban/FoundationDB parser code as a starting point will get
>>> the job done faster.  If you hire someone less familiar with parsers then
>>> ANTLR will probably be easier and will likely be something the Open Source
>>> community can manage better,
>>>
>>> Just my thoughts, I hope they help in your evaluation.
>>>
>>> Best,
>>>
>>> Emrul
>>>
>>>
>>> On Friday, August 8, 2014 9:39:27 AM UTC+1, Lvc@ wrote:
>>>
>>>> Hi Emrul,
>>>> The total rewriting of SQL parser has been scheduled for 2.1. We're
>>>> taking the decision about JavaCC or ANTLR. Pros and Cons of both.
>>>>
>>>> Anybody has an opinion on both?
>>>>
>>>> Lvc@
>>>>
>>>>
>>>>
>>>> On 8 August 2014 01:34, Emrul Islam <[email protected]> wrote:
>>>>
>>>>> Hi Fidel,
>>>>>
>>>>> I had done some work to write a GORM plugin for OrientDB that would
>>>>> allow Grails to directly persist domain objects into OrientDB.  However, I
>>>>> had to pause the effort while I waited for a better query API (instead of
>>>>> constructing an SQL string I wanted to programmatically express a query).
>>>>>  I shifted my attention to the ANTLR Parser effort but ran out of time.
>>>>>
>>>>> So I have two choices: either finish the ANTLR parser for OrientDB and
>>>>> then finish the Grails plugin or work on constructing an SQL string for
>>>>> queries.  I haven't really thought about it in the past few months because
>>>>> I was working on other things.
>>>>>
>>>>> You can still directly call OrientDB just as you can any Java library
>>>>> from Grails, I tested this approach and it worked fine but it means
>>>>> managing your own serialization between OrientDB records and grails domain
>>>>> classes.
>>>>>
>>>>> Good luck in your efforts!
>>>>>
>>>>> On Monday, August 4, 2014 5:22:40 PM UTC+1, Fidel Viegas wrote:
>>>>>>
>>>>>> Hello, everyone!
>>>>>>
>>>>>> I have been playing around with orientdb and i would like to put
>>>>>> together a small application using grails and was wondering if anyone has
>>>>>> worked with grails and orientdb that would like to share his experience. 
>>>>>> Is
>>>>>> there any driver for grails ou there? How could one integrate the java
>>>>>> driver?
>>>>>>
>>>>>> I look forward to hearing from those that have some advice with
>>>>>> regards to this combo.
>>>>>>
>>>>>> Thanks in advance!
>>>>>>
>>>>>> Best Regards,
>>>>>>
>>>>>> Fidel H Viegas
>>>>>>
>>>>>  --
>>>>>
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "OrientDB" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>>
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  --
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "OrientDB" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "OrientDB" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to