I've used antlr 3 & 4, and the changes in 4 make it extremely easy to use, within the scope of parsing grammars. The only benefit to javacc that I'm aware of is the lack of a runtime dependency, but I believe the flexibility during grammar development more than makes up for it since the antlr license is friendly.
-- Curtis Ruck Anytime: 210-857-1126 On Sat, Aug 9, 2014 at 12:52 PM, Fidel H Viegas <[email protected]> wrote: > 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. > -- --- 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.
