antlr-d 1.8.3

ANTLR4 runtime library

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:


The Antlr4DTarget represents an full featured and tested port of ANTLR 4.

This covers the runtime library, the tool to translate the syntax into D code and the tests for the runtime library. See also ANTLR version 4.8.

Like other language ports, this D runtime library uses UTF-8.


  1. Download or clone the package
  2. Change directory to the root of the package and call dub.
  3. You will find the generated ATLR D runtime library in lib/libantlr-d.a
  4. The ANTLR tool for D will be generated by make build_examples (./build.ps1 build_examples on windows) in build/antlr4-4.8/tool/target/antlr4-4.8-2-SNAPSHOT-complete.jar


ANTLR tool
  • java 1.8
  • maven
  • 7-Zip (Only on windows)


Put the

grammar Expr;
prog:	(expr NEWLINE)* ;
expr:	expr ('*'|'/') expr
    |	expr ('+'|'-') expr
    |	INT
    |	'(' expr ')'
NEWLINE : [\r\n]+ ;
INT : [0-9]+ ;

in the file Expr.g4.

Now call

java -jar -Dlanguage=D build/antlr4-4.7.2/tool/target/antlr4-4.8-2-SNAPSHOT-complete.jar Expr.g4

and the correspondig Lexer, Parser and Listener D-Source files are generated. Use the the -visitor option in cli

java -jar -visitor -Dlanguage=D build/antlr4-4.7.2/tool/target/antlr4-4.8-2-SNAPSHOT-complete.jar Expr.g4

and additional ExprVisitor.d and ExprBaseVisitor.d sources are created.

Externsion versus other ANTLR runtime versions

The data type to store text is Variant. This is handy for the rewriting feature on an indent-based syntax like Python. In this case we need a structure representing the text as well as the number of indents.

1.8.3 2020-Dec-05
1.8.2 2020-Nov-28
1.8.1 2020-May-05
1.8.0 2020-Apr-24
1.7.4 2020-Apr-20
Show all 49 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 342 downloads total

Short URL: