calcite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Hyde <jh...@apache.org>
Subject Re: [DISCUSS] ANTLR4 parse template for Calcite ?
Date Thu, 22 Aug 2019 17:39:02 GMT
If you are going to do all that work to translate to ANTLR, one thing that may help is to re-use
SqlParserTest.java. (Shouldn’t be hard to translate that into javascript, or your could
use a harness that calls the javascript code from java.) Your code may be entirely different,
but the tests will ensure that it gives the same result.

> On Aug 22, 2019, at 4:04 AM, Michael Franzkowiak <michael@contiamo.com> wrote:
> 
> It is not using ANTLR. Since our goal is specifically to support parsing
> and manipulation of SQL in the frontend, we use
> https://sap.github.io/chevrotain/docs/ . We're quite happy with that. We
> have some pretty big ANTLR grammars for other (non-SQL) use cases and this
> approach definitely feels more lightweight.
> 
> On Thu, Aug 22, 2019 at 12:22 PM Danny Chan <yuzhao.cyz@gmail.com> wrote:
> 
>> Create ! Do you have the ANTLR.g4 file that can be shared ?
>> 
>> Best,
>> Danny Chan
>> 在 2019年8月22日 +0800 PM5:45,Michael Franzkowiak <michael@contiamo.com>,写道:
>>> Danny, what is your web / frontend use case exactly?
>>> We've started to create some frontend helpers which you can find at
>>> https://github.com/contiamo/rhombic . It's all in a very early state but
>>> we'll likely spend some more time on it in the next months. Parsing is
>> here
>>> https://github.com/contiamo/rhombic/blob/master/src/SqlParser.ts .
>>> 
>>> On Thu, Aug 22, 2019 at 11:38 AM Muhammad Gelbana <m.gelbana@gmail.com>
>>> wrote:
>>> 
>>>> I once needed to fix this issue [1] but the fix was rejected because it
>>>> introduced worse performance than it ideally should. As mentioned in
>> the
>>>> comments, the current approach followed in the current parser is the
>> reason
>>>> for that. I mean if we designed the grammar differently, we could've
>> had
>>>> fixed the linked issue a long time ago as Julian already attempted to
>> fix
>>>> it.
>>>> 
>>>> Having that said, we might go with *antlr* only to have that "better"
>>>> approach for our parsers. We don't have to dump our current parser of
>>>> course as *antlr* can be optionally activated.
>>>> 
>>>> [1] https://issues.apache.org/jira/browse/CALCITE-35
>>>> 
>>>> Thanks,
>>>> Gelbana
>>>> 
>>>> 
>>>> On Thu, Aug 22, 2019 at 10:05 AM Danny Chan <yuzhao.cyz@gmail.com>
>> wrote:
>>>> 
>>>>> Thanks, Julian.
>>>>> 
>>>>> I agree this would be a huge work, but I have to do this, I’m just
>>>>> wondering if any fellows here have the similar requests.
>>>>> 
>>>>> Best,
>>>>> Danny Chan
>>>>> 在 2019年8月22日 +0800 PM2:15,Julian Hyde <jhyde@apache.org>,写道:
>>>>>> ANTLR isn’t significantly better than, or worse than, JavaCC, but
>> it’s
>>>>> different. So translating to ANTLR would be a rewrite, and would be a
>>>> HUGE
>>>>> amount of work.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>> On Aug 21, 2019, at 8:01 PM, Danny Chan <yuzhao.cyz@gmail.com>
>>>> wrote:
>>>>>>> 
>>>>>>> Now some of our fellows want to do the syntax promote in the
WEB
>>>> page,
>>>>> and they what a parser in the front-page; The ANTLR4 can generate JS
>>>> parser
>>>>> directly but JAVACC couldn’t.
>>>>>>> 
>>>>>>> So I’m wondering do you have the similar requests ? And do
you
>> think
>>>>> there is necessity to support ANTLR4 g4 file in Calcite ?
>>>>>>> 
>>>>>>> 
>>>>>>> Best,
>>>>>>> Danny Chan
>>>>>> 
>>>>> 
>>>> 
>>> 
>>> 
>> 


Mime
View raw message