ANTLR-D 2.7.5 Step 01

ANTLR 1989-2004 Developed by Terence Parr
Partially supported by University of San Francisco &

ANTLR-D 2005 D code generation added by Michael Butscher

What is ANTLR-D?

ANTLR is a lexer and parser generator for LL(k) grammars. It is written in Java and can generate lexers and parsers in (as of version 2.7.5) Java, C++, C# and Python.

ANTLR-D adds the possibility to generate code for the D programming language as well.


ANTLR-D 2.7.5 Step 01 is based on ANTLR 2.7.5. ANTLR-D does not modify existing ANTLR code, it only adds new one. This means, you should be able to use ANTLR-D everywhere you used the same version of ANTLR without any difference.



ANTLR-D comes as source code and binary package.

The binary contains the compiled Java jar file which can be run everywhere where a Java Runtime Environment 1.4 or later is available.

A windows installer is not available so you have to edit the bin/antlr.bat file by hand to set the appropriate directory to run ANTLR-D with this batch file.

The source contains the Java source of ANTLR plus the files for D code generation (three antlr/DLang*.java files and everything in antlr/actions/dlang).

The included makefiles were changed for ANTLR-D but are untested!

Both distributions contain the necessary runtime support source for D in the lib/dlang directory and a few examples ported from Java to D in the examples/dlang directory.

String handling

Because of the different string concepts of D and Java, the string handling is rather inconvenient. The runtime sources use a class WString which is similar to Java's String class. WString is based on 16 bit wchar characters.


ANTLR-D is currently public domain, as ANTLR 2.7.5 is. Other ANTLR versions may have a different license, so the license of ANTLR-D may need to change as well.

At the moment, there is no more documentation available, please read the sources, especially of the examples.
Homepage (German)


© Michael Butscher, last modified 2005-07-11. (Trademarks, even if not marked as such, are property of their respective owners)