nifi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Christianson <andrew.christian...@nextcentury.com>
Subject Re: MiNiFi C++ Expression Language
Date Thu, 04 May 2017 12:51:18 GMT
> 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 <mattyb149@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.parisi@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.christianson@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

Mime
View raw message