> I tried a quick ANTLR4 upgrade myself, it's indeed a big job to refactor the 
> existing grammar. Since the source and target for MiNiFi C++ is, well, C++, 
> an alternative could be to use lex/yacc (Flex/Bison) [1], Lemon [2], Ragel 
> [3], etc. The downside is maintaining two grammars, but we are doing that 
> with all the MiNiFi components already. The upside is being able to support 
> EL incrementally as the grammar is developed. What do you think?

This seems like a pragmatic approach. What's the level-of-effort required to do 
the initial grammar port and set up the build tooling? Less than refactoring 
for ANTLR4? I'm not as familiar with the EL grammar situation.

-Andy
________________________________________
From: Matt Burgess <mattyb...@gmail.com>
Sent: Thursday, May 4, 2017 8:46:20 AM
To: dev@nifi.apache.org
Subject: Re: MiNiFi C++ Expression Language

I tried a quick ANTLR4 upgrade myself, it's indeed a big job to refactor the 
existing grammar. Since the source and target for MiNiFi C++ is, well, C++, an 
alternative could be to use lex/yacc (Flex/Bison) [1], Lemon [2], Ragel [3], 
etc. The downside is maintaining two grammars, but we are doing that with all 
the MiNiFi components already. The upside is being able to support EL 
incrementally as the grammar is developed. What do you think?

Regards,
Matt

[1] http://dinosaur.compilertools.net/
[2] http://www.hwaci.com/sw/lemon/
[3] http://www.colm.net/open-source/ragel/



Sent from my iPhone
> On May 4, 2017, at 8:13 AM, Marc P. <marc.par...@gmail.com> wrote:
>
> Andrew,
>  I am not aware of it being actively worked [1]. This would require using
> ANTLR4, but I don't believe C++ support is well tested [2].  Someone can
> correct me if I'm wrong, but there would have to be changes to both sides.
> I attempted a quick straw man with grammars, but didn't take it very far
> after making initial changes to the grammar. It generated code, but I'm
> uncertain of cross platform compatibility with the expression language. If
> that's not expected or required that will remove some limitations as a
> result of moving to ANTLR4.
>
> [1] https://issues.apache.org/jira/browse/MINIFI-140
> [2] http://www.soft-gems.net/index.php/tools/49-the-antlr4-c-target-is-here
>
> On Thu, May 4, 2017 at 8:07 AM, Andrew Christianson <
> andrew.christian...@nextcentury.com> wrote:
>
>> All,
>>
>> I see that we do not have support for the expression language yet in
>> MiNiFi C++. Is anyone actively working on this, and if so, is there an ETA?
>> If no one is working on it, is there a general plan for how it should be
>> implemented? I think I recall seeing references to ANTLR

Reply via email to