TextX DSL autodocumentation tool
A non-official TextX poc-project aiming to autogenerate documentation of DSL.
For testing the TextX integration, you will be required to install from repository since the CLI extending is not available in 1.8.
Files
- example.py: example of DSL definition directly taken from another project
- out.html: the HTML output file (take a look to get a feeling of the current project achievements)
- poc.py: first implementation, absolutely bad, but few functions are worth saving
-
poc_as_cls.py: use some functions of
poc.py
to implement the same thing, but in a clearer manner - poc_render_peg.py: rendering of arpeggio (textx backend) grammars
Current results are encouraging.
F(unny )eatures
- support of docstrings (those at user classes level)
- auto-generation of examples for regexes, and complete linking to pythex.org
TODO
- integrate complete example (either randomly or author-provided)
- get a complete example with advanced features like references and other textx/arpeggio constructs
- fix detection and handling of terminal for the description of rules
- generate few examples for each documented rule (randomly, probably)
- make the generation deterministic
- humanize the phrasing (ex: when choice only on raw strings, avoid the bullet list and list them inline directly with an or for the last join: Type either a, b or c)
- integration into textx with textx subcommands (see doc)