[
https://issues.apache.org/jira/browse/AVRO-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17763681#comment-17763681
]
ASF subversion and git services commented on AVRO-3403:
-------------------------------------------------------
Commit cae0cb1ad70543a023471b30349368c65b079d3c in avro's branch
refs/heads/master from Oscar Westra van Holthe - Kind
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=cae0cb1ad ]
AVRO-3403: Create and use ANTLR to parse IDL files (#1588)
This large change encompasses a new avro-idl module, a shared ANTLR
grammar to allow implementations in other languages, and uses (copies
of) all existing IDL tests.
> Migrate from JavaCC to ANTLR
> ----------------------------
>
> Key: AVRO-3403
> URL: https://issues.apache.org/jira/browse/AVRO-3403
> Project: Apache Avro
> Issue Type: Improvement
> Components: build, dependencies, java, tools
> Reporter: Oscar Westra van Holthe - Kind
> Assignee: Oscar Westra van Holthe - Kind
> Priority: Major
> Labels: pull-request-available
> Time Spent: 3h 20m
> Remaining Estimate: 0h
>
> Although JavaCC has been updated recently, there are quite some forks and
> development is quite erratic. The best maintained fork also has no presence
> in Maven Central yet. Worse (IMHO), it's Java only. This limits the use of
> the IDL format to Java and the Avro tools.
> As proposed on the mailling list last January, in the thread [Maintaining the
> IDL in the 21st
> century|https://lists.apache.org/thread/7c99hkkl59l78x5kyf7bd80cnyd1do3j],
> this improvement issue is to migrate the code to ANTLR.
> Related changes:
> # Place the ANTLR grammar in a subdirectory in the toplevel {{share}}
> directory, so it can be reused for other languages than Java (note: the
> Grammar may not contain any actions/code).
> # Ensure the IDL parsing API allows extending the IDL syntax to an {{.avsc}}
> equivalent.
> # Add a new {{java/idl}} module with the new parser. Make it a dependency of
> the {{java/compiler}} module and use it instead of the old parser.
> Bonus: this allows us to (also) create a parser that yields a single protocol
> (at first) or schema (future change).
> # Keep the old parser in the {{java/compiler}} module for backwards
> compatibility, mark it as deprecated and document its removal in a future
> version.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)