Good luck.  I'm interested in anything that would speed up Falcon.
Please work in a branch.

On 7/16/14 2:44 AM, "Christofer Dutz" <christofer.d...@c-ware.de> wrote:

>Hi,
>
>
>
>while I was havin a first look at the internals of Falcon, I was
>surprized to find a mixture of Antlr2 & Antlr3 grammars for creating the
>parsers.
>
>In a first moment I thought it would be a good idea to migrate the Antlr2
>grammars ASParser.g and MetadataParser.g to Antlr3 but after finding out
>that IntelliJ now has a neat Antlr4 plugin and reading a bit about the
>differences from 2 and 3 to 4 it sounded like a good idea to migrate all
>to Antlr4. To me it looks as if the way things are processed in Antlr4
>would make the grammars a lot easier as well as implementing the rule
>logic. My gut-feeling tells me that an Antlr4 parser should need less
>processing and be quite a bit faster. I did experiment a little on the
>CSS grammar and successfully created an Antlr4 version of that ... so I
>guess it should be possible and it would clean up things quite
>dramatically.
>
>
>
>What I particularly liked, was that Antlr4 automatically generates a
>Listener interface for any rule it finds generating an "enter{ruleneme}"
>and "exit{rulename}" as well as a base-class implementing this interface.
>Now all of the java code we had to enter in the rule-document can now be
>defined in a FalconCssListener class that extends this CSSBaseListener.
>This is where the Java code can be added to handle the rules and we can
>easily debug it (I know you could set breakpoints in the generated code,
>but I allways disliked that).
>
>
>
>What do you think? ... Would it be a good idea to give something like
>that a try? After all ... it's just 3 grammars (CSS, ASParser and
>MetadataParser). But I have to admit that the ASParser grammar looks way
>more complex than the CSS and the MetadataParser grammar.
>
>
>
>Chris

Reply via email to