Skip to content

Instantly share code, notes, and snippets.

Last active Mar 11, 2021
What would you like to do?
Simple ANTLR4 grammar example
// define a grammar called Hello
grammar Hello;
r : 'hello' ID;
ID : [a-z]+ ;
WS : [ \t\r\n]+ -> skip ;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.tree.*;
public class Hello {
public static void main( String[] args) throws Exception
HelloLexer lexer = new HelloLexer( new ANTLRFileStream(args[0]));
CommonTokenStream tokens = new CommonTokenStream( lexer );
HelloParser parser = new HelloParser( tokens );
ParseTree tree = parser.r();
ParseTreeWalker walker = new ParseTreeWalker();
walker.walk( new HelloWalker(), tree );
public class HelloWalker extends HelloBaseListener {
public void enterR(HelloParser.RContext ctx ) {
System.out.println( "Entering R : " + ctx.ID().getText() );
public void exitR(HelloParser.RContext ctx ) {
System.out.println( "Exiting R" );
all: Hello.class Hello.g4
antlr4 Hello.g4
javac Hello*.java
hello world

This comment has been minimized.

Copy link

@MarwanMedhat-97 MarwanMedhat-97 commented Mar 21, 2020

how to execute this program


This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment