[RFC PATCH v1 0/6] pure python kernel-doc parser and more

Markus Heiser
2017-01-24T19:53:07Z

Hi Jon,

here is my RFC, replacing the kernel-doc parser perl script with a python
implementation. The parser is implemented as module and is used by several
kernel-doc applications:

* kerneldoc : the parser
* kerneldoc-lint : liniting
* kerneldoc-src2rst : autodoc source tree
* manKernelDoc.py : a builder generating man-pages

All this is mainly merged 1:1 from my POC at:

https://github.com/return42/linuxdoc commit 3991d3c

Since it is merged 1:1, you will notice it's CodingStyle is (ATM) not kernel
compliant and it lacks a user doc ('Documentation/doc-guide'). Take this as a
starting point to play around and gain some experience with the parser and its
applications. CodingStyle and user documentation will be patched when the
community agreed about functionalities.

Thanks

-- Markus --

[1] https://www.mail-archive.com/linux-doc@vger.kernel.org/msg09002.html

Markus Heiser (6):
kernel-doc: pure python kernel-doc parser (preparation)
kernel-doc: replace kernel-doc perl parser with a pure python one (WIP)
kernel-doc: add kerneldoc-lint command
kernel-doc: insert TODOs on kernel-doc errors
kernel-doc: add kerneldoc-src2rst command
kernel-doc: add man page builder (target mandocs)

Documentation/Makefile.sphinx | 8 +-
Documentation/admin-guide/conf.py | 2 +
Documentation/admin-guide/index.rst | 2 +
Documentation/conf.py | 8 +-
Documentation/core-api/conf.py | 2 +
Documentation/core-api/index.rst | 2 +
Documentation/dev-tools/conf.py | 2 +
Documentation/dev-tools/index.rst | 2 +
Documentation/doc-guide/conf.py | 2 +
Documentation/doc-guide/index.rst | 2 +
Documentation/driver-api/conf.py | 2 +
Documentation/driver-api/index.rst | 2 +
Documentation/gpu/conf.py | 2 +
Documentation/gpu/index.rst | 2 +
Documentation/media/Makefile | 1 +
Documentation/media/conf.py | 2 +
Documentation/media/index.rst | 2 +
Documentation/process/conf.py | 2 +
Documentation/process/index.rst | 2 +
Documentation/security/conf.py | 2 +
Documentation/security/index.rst | 9 +
Documentation/sphinx/fspath.py | 435 +++++
Documentation/sphinx/kernel_doc.py | 2908 ++++++++++++++++++++++++++++++++++
Documentation/sphinx/kerneldoc.py | 149 --
Documentation/sphinx/lint.py | 121 ++
Documentation/sphinx/manKernelDoc.py | 408 +++++
Documentation/sphinx/rstKernelDoc.py | 560 +++++++
Documentation/sphinx/src2rst.py | 229 +++
scripts/kerneldoc | 11 +
scripts/kerneldoc-lint | 11 +
scripts/kerneldoc-src2rst | 11 +
31 files changed, 4748 insertions(+), 155 deletions(-)
create mode 100644 Documentation/sphinx/fspath.py
create mode 100755 Documentation/sphinx/kernel_doc.py
delete mode 100644 Documentation/sphinx/kerneldoc.py
create mode 100755 Documentation/sphinx/lint.py
create mode 100755 Documentation/sphinx/manKernelDoc.py
create mode 100755 Documentation/sphinx/rstKernelDoc.py
create mode 100755 Documentation/sphinx/src2rst.py
create mode 100755 scripts/kerneldoc
create mode 100755 scripts/kerneldoc-lint
create mode 100755 scripts/kerneldoc-src2rst

--
2.7.4