You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Oscar Westra van Holthe - Kind (Jira)" <ji...@apache.org> on 2022/02/15 13:26:00 UTC

[jira] [Created] (AVRO-3403) Migrate from JavaCC to ANTLR

Oscar Westra van Holthe - Kind created AVRO-3403:
----------------------------------------------------

             Summary: 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


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.1#820001)