Setting up ANTLR4 on Windows
I am using ANTLR for a Compilers course, and working on a windows box. Getting ANTLR to work is not difficult since it is just a Java jar file. The quick start instructions on the ANTLR website seem really straightforward, and they probably are if you know what you are doing. However, I had a bit of trouble getting the handy antlr4
and grun
commands to work properly in my environment. This is likely due to my Unix/Linux background and because I am not used to messing with environment variables and batch files on windows. Adding things to the PATH and creating bash aliases in Linux is a piece of cake. This is a bit trickier on Windows so I figured I would make a short tutorial to help anyone else who does not know what they are doing like me.
Download Antlr
You can get the latest ANTLR from here. Save this file toC:\Javalib
Add ANTLR to the CLASSPATH
CLASSPATH is an environmental variable. In order to set an environmental variable in Windows you will need to do the following.- Open Up File Explorer
- Right Click on This PC
- Select Properties
- On the left hand side of the new window select Advanced system settings
- On the bottom of this screen select Environment Variables…
- This is a new computer with no CLASSPATH variable so I had to add a new one. If you have used other Java Libraries it is possible that you may already have CLASSPATH defined. If you see CLASSPATH under System Variables append it with
C:\Javalib\antlr-4.5.3-complete.jar;
If you do not have a CLASSPATH variable defined, select **New…* and then enterCLASSPATH
for the Variable Name, andC:\Javalib\antlr-4.5.3-complete.jar
for the Variable value.
Create batch commands for ANTLR Tool and TestRig
In order to make ANTLR easier to run from the command line we will need to add two simple batch files somewhere in the PATH. I decided to put these in C:\Javalib in order to keep them organized and together. C:\Javalib is not in the PATH by default so we must append the existing PATH variable just like we did in the previous step.- Open Up File Explorer
- Right Click on This PC
- Select Properties
- On the left hand side of the new window select Advanced system settings
- On the bottom of this screen select Environment Variables…
- Find the PATH variable
- Append
;C:\Javalib\;
to the existing PATH variable
- Create a new file in
C:\Javalib
calledantlr4.bat
- In this file enter
java org.antlr.v4.Tool %*
- Save this file
- Create a new file in
C:\Javalib
calledgrun.bat
- In this file enter
java org.antlr.v4.runtime.misc.TestRig %*
- Save this file
antrl4
and grun
into a command prompt and launch ANTLR or the Testing Suite respectively.
Make Sure Everything Works
To make sure that all of this worked;- Open up a Command Prompt or Powershell
- Enter the command
antlr4
- You should see something like this:

- Enter the command
grun
- You should see somethign like this:

Congrats, you are ready to hack on compilers now. Next, check out The Definitive ANTLR Reference book to learn everything there is to know about ANTLR.
Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- 2024
- Reinstalling Windows at 1am
- SQLite DB Migrations with PRAGMA user_version
- My Custom Miniflux CSS Theme
- How to Disable Wayland in Debian Testing
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- The AGI economy is coming faster than you think from Freethink
- Rolling the ladder up behind us from Xe Iaso's blog
- In Praise of “Normal” Engineers from charity.wtf
- Reports of Bluesky's death have been greatly exaggerated from The Torment Nexus
- What Would a Kubernetes 2.0 Look Like from matduggan.com
- We Can Just Measure Things from Armin Ronacher's Thoughts and Writings
- workflows for ai coding from /* 🤖🛠️ */
- Reinvent the Wheel from Matthias Endler
Articles from blogs I follow around the net
in the heat of the summer better call out a plumber
Back in the old days, the good old days, when it was generally accepted that Fascism and Nazis were bad, bloggers would write these posts that were sort of recaps […]
via WIL WHEATON dot NET June 20, 2025Just one more Patreon indignity
I was today years old when I learned that Patreon offers no mechanism to download all of your own posts from your "creator" account. Because fuck you that's why. Confirmed with "support" [sic] who sent me a response with the level of ov…
via jwz June 20, 2025Pluralistic: Oregon bans the corporate practice of medicine (20 Jun 2025)
Today's links Oregon bans the corporate practice of medicine: Karma for Unitedhealthcare, Part II. Hey look at this: Delights to delectate. Object permanence: 2015, 2020 Upcoming appearances: Where to find me. Recent appearances: Where I've been. …
via Pluralistic: Daily links from Cory Doctorow June 20, 2025Generated by openring