1) ABOUT
========
This is the Python3 package 'antlr3', which is required to use parsers created
by the ANTLR3 tool. See for more information about
ANTLR3.
2) STATUS
=========
The Python3 target for ANTLR3 is still in beta. Documentation is lacking, some
bits of the code is not yet done, some functionality has not been tested yet.
Also the API might change a bit - it currently mimics the Java implementation,
but it may be made a bit more pythonic here and there.
WARNING: The runtime library is not compatible with recognizers generated by
ANTLR versions preceding V3.4.x. If you are an application developer,
then the suggested way to solve this is to package the correct runtime with
your application. Installing the runtime in the global site-packages directory
may not be a good idea.
Sorry for the inconvenience.
3) DOWNLOAD
===========
This runtime is part of the ANTLR distribution. The latest version can be found
at .
If you are interested in the latest, most bleeding edge version, have a look at
the git repository at .
4) INSTALLATION
===============
Just like any other Python package:
$ python3 setup.py install
See for more information.
5) DOCUMENTATION
================
Documentation (as far as it exists) can be found in the wiki
6) REPORTING BUGS
=================
Please file bug reports on github: .
7) HACKING
==========
Only the runtime package can be found here. There are also some StringTemplate
files in 'src/org/antlr/codegen/templates/Python3/' and some Java code in
'src/org/antlr/codegen/Python3Target.java' (of the main ANTLR3 source
distribution).
If there are no directories 'tests' and 'unittests' in 'runtime/Python3', you
should fetch the latest ANTLR3 version from the perforce depot. See section
DOWNLOAD.
You'll need java and ant in order to compile and use the tool.
Be sure to properly setup your CLASSPATH.
(FIXME: is there some generic information, how to build it yourself? I should
point to it to avoid duplication.)
You can then use the commands
$ python3 setup.py unittest
$ python3 setup.py functest
to ensure that changes do not break existing behaviour.
Please send patches as pull requests on github. For larger code contributions
you'll have to sign the "Developer's Certificate of Origin", which can be
found on or use the feedback form at
.