Thanks a lot for your review, Michael.

I think I have handled all the points you raised, except otherwise noted.

> I don't like the fast that in several classes the to-be-replaced symbols still appear, e.g., RuntimeInstance

The RuntimeService now only exposes a getParserConfiguration() method.

> Since you successfully abstracted from the tokens, I don't see reason to still call them by name, .e.g., char.dollar. I would call them by function -- even it makes it a bit longer, it is more descriptive. I hope you get the point.

Outside the parser, getting a specific char is done with :

  runtimeServices.getParserConfiguration().getDollarChar()

Inside the parser, I'm fine with parser.dollar field access. It's not exposed to the user, and at least I'm certain to minimize the overhead.

> + <artifactId>maven-bundle-plugin</artifactId>
> Why do we need this on an example?

Because otherwise, I get:

  [ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:3.1.1:jar (default-jar) on project velocity-custom-parser-example: Error assembling JAR: Manifest file: /home/claude/Projects/velocity/engine/parser/velocity-custom-parser-example/target/classes/META-INF/MANIFEST.MF does not exist.

It does so even if I try to have maven-jar-plugin skip parent configuration.

  --
  Claude


On 11/06/2019 16:51, Claude Brisson wrote:
Of course !

On 11/06/2019 15:09, Michael Osipov wrote:
Am 2019-06-11 um 13:32 schrieb Claude Brisson:
FYI, I'm about to merge the parser_experiments branch, see

https://issues.apache.org/jira/browse/VELOCITY-917

and

https://github.com/apache/velocity-engine/compare/parser_experiments .

What it does:

- introduce a Parser interface and patch the javacc generated files so that the generated parser implements this interface - templatize the grammar file with maven properties for potential substitutions of the following characters: $, *, #, @ - introduce a new 'parser.class' Velocity property which can be used to plug in a custom parser - provide a new velocity-custom-parser-example module, which demonstrates how to generate a custom parser

We could certainly go further in the customization, but it's a start.

I'd like to review your changes. Can you give a a day or two for this?

Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org

Reply via email to