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