nifi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Burgess <mattyb...@gmail.com>
Subject Re: MiNiFi C++ Expression Language
Date Thu, 04 May 2017 12:46:20 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?

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
  • Unnamed multipart/alternative (inline, 7-Bit, 0 bytes)
View raw message