Skip to main content

Sphinx domain and autodoc for Antlr4 grammars

Project description

Sphinx plugin for Antlr4

A4Doc is a sphinx plugin for documenting Antlr4 grammars.

It’s primary target is to provide some overview for DSL users (generated documentation may not include some nuances essential for compiler developers).

A4Doc's features are:

  • a new domain with grammar and rule directives called a4;
  • directives for rendering railroad diagrams;
  • directive for extracting documentation comments and rendering docs and diagrams from .g4 source files.

Resources

Requirements

  • python >= 3.7
  • sphinx >= 1.8.0

Installation

pip3 install sphinx-a4doc

Use cases

Changelog

v1.2.5

  • Fixed python 3.9 compatibility issue (by @sandrotosi).

v1.2.2, v1.2.3, v1.2.4

  • No functional changes, just setting up CI to push PyPI releases automatically.

v1.2.1

  • Fixed integration with intersphinx.

v1.2.0:

  • Renamed conf.py settings: a4_autodoc_* became a4_autogrammar_*.
  • Added support for section comments in grammar files.
  • Added flexible settings to control how literal lexer rules are rendered.
  • Added setting to convert rule names from CamelCase to dash-case.
  • Fixed documentation comments are parsed incorrectly in some cases.

v1.0.1:

  • Fixed absence of .css file for railroad diagrams.

v1.0.0:

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinx-a4doc-1.3.0.tar.gz (96.9 kB view hashes)

Uploaded source

Built Distribution

sphinx_a4doc-1.3.0-py3-none-any.whl (97.7 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page