antlr4 Docker & Self-Hosted Deployment

GitHub

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.

19,027 stars Java Java 57 files ยท ~79,370 tokens #antlr#antlr4#cpp#csharp#dart#golang#grammar#java
1. Pull Image (DOCKERHUB) docker pull antlr/antlr4:latest
2. Docker Run (1-Click Launch) docker run -d --name antlr4 --restart always antlr/antlr4:latest
3. Podman Run podman run -d --name antlr4 --restart always antlr/antlr4:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/antlr/antlr4:latest
5. ORAS Pull (OCI Artifact) oras pull antlr/antlr4:latest
docker/Dockerfile
FROM eclipse-temurin:21 AS builder

WORKDIR /opt/antlr4

ARG ANTLR_VERSION="4.13.2"
ARG MAVEN_OPTS="-Xmx1G"


RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install maven git -y \
    && git clone https://github.com/antlr/antlr4.git \
    && cd antlr4 \
    && git checkout $ANTLR_VERSION \
    && mvn clean --projects tool --also-make \
    && mvn -DskipTests install --projects tool --also-make \
    && mv ./tool/target/antlr4-*-complete.jar antlr4-tool.jar

FROM eclipse-temurin:21-jre

COPY --from=builder /opt/antlr4/antlr4/antlr4-tool.jar /usr/local/lib/
WORKDIR /work
ENTRYPOINT ["java", "-Xmx500M", "-cp", "/usr/local/lib/antlr4-tool.jar", "org.antlr.v4.Tool"]